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

WBOY
リリース: 2024-07-29 07:20:23
オリジナル
425 人が閲覧しました

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

私たちは、今後のリリースに向けて、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. PISA検索
  3. マンティコア
以下にそれらの比較を示します:

Kriterien meiliSearch Typesense Pisa-Suche Manticore
Suchen während der Eingabe Ja Ja Nein Nein
Facettensuche Ja Ja Nein Nein
Unterstützung mehrerer Schemata/Produkte Ja Ja - Ja
RAM-Nutzung für 224-MB-Festplatte: ~305 MB RAM, primärer Indexspeicherort ist Festplatte Primärer Indexspeicherort ist RAM, für 100 MB Festplatte sind 300 MB RAM erforderlich - -
CPU-Auslastung Für eine Maschine mit 12 Kernen werden maximal 6 Kerne verwendet. Github-Probleme im Zusammenhang mit hoher CPU-Auslastung für 4vCPU werden 104 gleichzeitige Suchen/Sekunden verarbeitet - -
Tippfehler, Umgang mit Synonymen Ja Ja - -

Wir haben PISA Search und Manticore herausgefiltert, da keines von beiden Funktionen für die Suche während der Eingabe und die Facettensuche bietet, die für unsere Anwendung erforderlich sind.

Lesen Sie den vollständigen Artikel hier weiter: https://journal.hexmos.com/we-chose-meilisearch-over-10-other-search-engines-despite-a-major-drawback/

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

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!