Searchを生み出しては壊滅させたこの私が新しいメタ検索エンジンを開発しているという話です。Searchは何が悪かったのかあくまで個人的な感想ですがそもそもスクレイピング型のメタ検索エンジン自体、一つのサーバーに集中させるようなものではないのに公式インスタンスを作ってそこに集中させてしまった。システムの構成も過度に複雑にした(バックエンドとフロントが完全に別、検索エンジンのくせにPostgreSQLとRedis両方必要、スクレイピングに別途SearXNGまで建てる必要がある、ドキュメントをまともに整備してないなど)せいでセルフホストする人もほぼ現れなかった。加えて独自インデックスやらアカウント機能などを計画したことで本来の方向性を見失った。ブロックリストとキャッシュ周辺の仕様が魔境だった。Searchの開発方針は現状以下のような感じです。Searchはフロントとバックエンドが同一のプログラムとしてまとまっているだけでなく、必要な外部ソフトもRedisのみになった。結果の最適化部分とブロックリストをRustベースで書き直し、高速化すると同時に本体のコードとは分離した開発を行えるようにした。本体の構造をより簡素で明確なものにしてメンテナンス性を向上させるように心がける。ソフト的な構成要素ここからは興味ある人向けかもSearXNGスクレイピングにはFreaと同じSearXNGを使用します。これじゃあ何の反省も生かされてないじゃないかとお叱りが飛んできそうですがLunaはSearXNGのコードをimportして内部的にライブラリとして扱います。Searchを建てるためにSearXNGを建てるという苦行を行うことなくインスタンスを簡単に生やせる訳です。なんで最初からこうしなかったんでしょうねlibfrealibfreaはRustベースのコードとPyO3で構成される結果の最適化ライブラリです。本体とは分離して開発されています。フォークも安易なのでブロックリストが気に入らないとかあれば簡単に改造できます。Search本体SearXNG、libfreaを使用し検索結果を生成しレンダリングするのが主な役割ですが、他にも強調スニペット(災害情報とか天気とか)周りの処理も行います。Pythonで書かれておりこいつを極力シンプルに保ちつつ役立つ機能を追加するのが私の役割です。TailsXをベースに作られておりTailsXのいい感じなUIを改造しています。終わりに正直この試みが上手く行くか分かりません。反省を活かしているから上手く行くんじゃないかと勝手に思っていますが温かい目で見守ってくださると幸いです。NOTICE当ウェブサイトの閲覧を続行することで、当ウェブサイトのプライバシーポリシーに同意したものと見做されます。当ウェブサイトのコンテンツに記載されている商標および名称は、各所有者の商標である可能性があります。21E条(いずれもその後の改正を含む)に該当)が含まれるコンテンツがあり、重大なリスクおよび不確定要因を含んでいます。意図に関わるその他同様の用語および表現によって識別することができます。すべての将来予想に関する記述にこうした語句が含まれているわけではありません。さまざまな要因によって、上記の将来予想に関する記述で明示または黙示した結果と実際の結果との間に重大な相違が生じる可能性があります。当ウェブサイトのコンテンツに含まれる将来予想に関する記述は、あくまで記述当日現在の事象についてのみ言及しています。当ウェブサイトは、法律で義務付けられた場合を除き、コンテンツ投稿日の日付以降の事象や状況を反映するために、あるいは新しい情報や予期しない事象の発生を反映するために、将来予想に関する記述を更新する義務を負いません。将来予想に関する記述で開示した計画、意図、予想は実際に実行・達成されない場合があるため、このウェブサイトの将来予想に関する記述に過剰に依存すべきではありません。当ウェブサイトの情報はなるべく正確であるように記述されていますが、当ウェブサイトの内容の正確性に関する保証は存在しません。当ウェブサイト上で紹介している内容はすべて自己責任で実行してください。いかなる種類の損害(二次被害を含む)に対しても、当ウェブサイトの管理人及びコンテンツの執筆者は日本国内で有効な法律で義務付けられている範囲を除き一切の責任を負いかねます。掲載されているスクリーンショットなどの画像の一部分若しくは全部の著作権は各著作権者に帰属します。これらを著作権法が認める範囲を除き、各著作権者の明示的な許可なしに無断で使用することはできません。reserved.当ウェブサイトに掲載されている各画像の一部分または全部の著作権は各著作権者に帰属します。