ホームページ  >  記事  >  バックエンド開発  >  大きな欠点にもかかわらず、他の検索エンジンではなく Meil​​isearch を選択しました

大きな欠点にもかかわらず、他の検索エンジンではなく Meil​​isearch を選択しました

WBOY
WBOYオリジナル
2024-07-29 07:20:23545ブラウズ

サードパーティの検索エンジンにリソースを投資する価値はありますか?理由は次のとおりです。

私たちは、今後のリリースに向けて、Hexmos による製品フィードバックの改善に日々継続的に取り組んでいます。

新しい機能やページが登場し、UI が変更され、バグが発見されて修正され、製品には多くの変更が加えられています。製品が成長するにつれて、製品全体のナビゲーションを改善する必要があることに気づきました。

さまざまな画面に移動するためのサイドバーとクライアント側の検索パッケージ cmdk はすでにありますが、さまざまなユーザー プロファイル、チーム、チームのパフォーマンスなどを検索する場合に問題が発生するため、より適切な統合が必要になります。フィードバック用のサードパーティ検索エンジン。

専用の検索エンジンを使用するもう 1 つの理由は、FeedZap などの他の製品がチェーン内にあり、将来的には複雑なテキスト検索操作が必要になるためです。

これを考慮して、私たちはユースケースとリソースの可用性に適応する専用の強力な検索エンジンの実装に力を入れる予定です。

ニーズに合った適切な検索エンジンを選択する方法

オープンソースの検索エンジン、サーバーレス、サーバーベースの検索エンジンなど、利用可能な検索エンジンが多数あります。
適切なものを見つける前に、現在および将来のニーズを含む要件とインフラストラクチャの分析を行うことをお勧めします。

一部の製品では、検索可能なデータは最小限ですが、最小限の操作で適切な検索機能が必要ですが、専用サーバーを設置する余裕がありません。
他の製品の場合、データセットはより大きく、追加の複雑な検索操作が必要となり、専用の検索エンジンをロードするのに十分なリソースが必要になります。

これに基づいて、いくつかの人気のある検索エンジンをレビューしました。

適切なパフォーマンスが必要だが、データセットが小さく、サーバーを買う余裕がない

PostgreSQL 全文検索

PostgreSQL を使用していて、他のインデックスベースのデータベースを維持したくない場合は、PostgreSQL 全文検索 (PSFTS) が良い選択肢です。ただし、数百万のトランザクションや広範なデータ管理を扱う大規模なユースケースには推奨されません。

ブレーベ

Bleve は、プロジェクトが Go エコシステム内にある場合に検討すべきもう 1 つのオプションです。強力なサーバーベースの検索エンジン サービスに依存できない場合にお勧めします。 Bleveのベンチマークレポートはこちらです。

タンティヴィ

Tantivy は Rust で書かれており、特に Rust ベースのプロジェクトに役立ちます。多くの肯定的なフィードバックを受けており、検討するのに良い選択肢です。
We Chose Meilisearch Over  Other Search Engines Despite a Major Drawback

強力なパフォーマンス、大規模なデータセットが必要で、サーバーを購入できる余裕がある

強力なパフォーマンス、大規模なデータセットが必要で、サーバーを購入できる余裕がある

サーバーまたはクラウド インスタンスを所有しており、フル コントロールを備えた強力でスケーラブルな検索エンジンが必要な場合は、サーバー ベースのオプションが最適です。

私たちの考慮事項と要件により、サーバーベースの検索エンジンを選択することになりました。これをホストするのに十分なリソースがあり、

のサーバーレス オプションよりも優れています。
  • 長期使用
  • スケーラビリティ
  • 次のような複雑な検索操作の追加サポート:
    • ファセット検索: オンライン ショッピングの際に、「ラップトップ」を検索し、ファセット検索を使用して、「価格 1000 ドル未満」、「ブランド: Apple」、「RAM」などのフィルターを選択して結果を絞り込むことを意味します。 : 16GB。"
    • マルチ検索: ユーザーが航空券、ホテル、レンタカーを一度に検索し、統合された結果を表示できる旅行 Web サイトを検討してください。
    • 入力どおりに検索: 各キー ストロークに基づいてリアルタイムの検索結果が表示されます。
  • 複数の商品に対する共通の検索システム。

広範なフィルタリングの後、このカテゴリのオプションを次の 4 つに絞り込みました。

  1. メイリサーチ
  2. タイプセンス
  3. PISA 検索
  4. マンティコア

以下にそれらの比較を示します:

Criteria meiliSearch Typesense Pisa Search Manticore
Search-as-you-type yes yes No No
facet search yes yes No No
multiple schema/product support yes yes - yes
RAM usage for 224 MB disk:~305 MB RAM prmary index location is disk primary index location is RAM, for 100MB disk requires 300MB RAM - -
CPU Usage for 12 core machine it uses maximum 6 core github issues related to high cpu usage for 4vCPU handle 104 concurrent search/seconds - -
typo, synonyms handling yes yes - -

PISA 検索と Manticore はいずれも、アプリケーションに必要な入力時検索機能とファセット検索機能を提供していないため、除外しました。

ここで記事全文を読み続けてください: https://journal.hexmos.com/we-chose-meilisearch-over-10-other-search-engines-despite-a-major-drawback/

以上が大きな欠点にもかかわらず、他の検索エンジンではなく Meil​​isearch を選択しましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。