難しそうに見えますが、強力な検索機能をアプリケーションに追加するのは複雑でも時間もかかりません。しっかりとしたおすすめをご紹介します!
過去 20 ~ 30 年の間に多くのテクノロジーが感動を与えてきましたが、検索は私たちの生活に不可欠なものとなった数少ないテクノロジーの 1 つです。電子商取引サイト、ブログ、ナレッジベースなど、どこにでもあります。検索ボックスやアイコンがカッコいいからではなく、切実に必要とされる機能を備えているからです。
優れた検索ソリューションを探している企業、または既存のソリューションにうんざりしている場合、どうしますか?
ありがたいことに、法外なライセンス料を支払う必要はなく、20 人の開発者とシステム管理者のチームを維持する必要もありません。今日は、特に規模 1 ~ 2 の開発者チームを抱える中小企業がすぐにインストールして統合できる検索エンジンの推奨事項をいくつか紹介します。

メイリサーチ
あなたが出会うことになる最高かつ高価値の検索エンジンの 1 つは、 MeiliSearch です。
では、MeiliSearch を私のおすすめのトップに挙げる理由は何でしょうか?
さあ行きます。
オープンソース
MeiliSearch を動かしているすべてのソース コードは、 GitHub で公開されています。つまり、開発者はコードのどの部分でも自分で調べることができます。その代わりに、企業は品質と意図を保証できます (たとえば、プログラムにバックドアやスキャナーが含まれていない)。そしてもちろん、知識のある開発者はテクノロジーをさらに改善するのに役立ちます。
素晴らしいUX
MeiliSearch には複雑なルールはありません (「a – b」は a を意味しますが b を意味しませんなど)。検索内容を自然に入力するだけで、結果がスムーズに表示されます。このエンジンは高い耐性と順応性を備えており、タイプミスや同義語が使用されている場合でも正確な結果を提供します。多言語もサポートしています。
素晴らしい開発力
開発者は MeiliSearch を気に入るでしょう!カスタマイズ可能でスケーラブルなだけでなく、REST API としてインターフェイスします。 ドキュメント も優れており、完全です。 HTTP 呼び出しを行うのはどの言語でも簡単ですが、急いでいる人のために 5 つの言語 (JavaScript、Ruby、Python、Golang、および PHP) の例が示されています。
シンプルな検索ソリューションは、使用と設定が簡単である必要があります。そのため、MeiliSearch はすべてのボックスにチェックを入れます。続行することに満足したら、ワンクリックで DigitalOcean で開始します。

ソルル
Apache プロジェクトの一部である Solr は、数年前から存在しています。これは、よく知られ信頼性の高い Lucene ライブラリに基づいて構築されており、ElasticSearch と呼ばれる人気の検索ソリューションも強化しています。このような漠然としたことは、Solr が最も強力で、スケーラブルで、標準に準拠し、機能が豊富で信頼できる検索ソリューションの 1 つであることを意味します。
Disney、eBay、Netflix、Zappos、BestBuy などの巨大企業によって使用されています。ただし、それは、より小規模で単純なインストール (たとえば、単一マシン、スケーリングなし、フェイルオーバーなし、まあ、場合によっては問題ない) を実行して、Solr と呼ばれるこの強力な機能を利用できないという意味ではありません。
では、なぜ Solr を使用するのでしょうか?
ここにいくつかの優れた理由があります。
正確かつ強力
Solr は、世界で最も正確、高機能、強力な検索システムの 1 つです。さらに、これはオープンソースであるため、(前述したように) 大手企業がこれに参入した理由が説明されています。ドキュメントをダイジェストし、検索クエリに応答する機能は誰にも負けません。
簡単な設置とメンテナンス
Solr のインストールは、プログラムを解凍して実行するだけで簡単です。シンプルな単一マシン システムの場合、面倒なメンテナンスは必要ありません。一般的な検索ソリューション、特に Java ベースのテクノロジは RAM を大量に消費する可能性があるため、RAM の使用状況に注意してください (高速な読み取り/書き込みを提供するためにすべてを RAM に保持する、または保持しようとするため)。
管理パネル
Solr には、視覚的な監視と構成を可能にする管理パネルが付属しています。わずかな量のトレーニングを行うだけで、開発者でなくても主要なチャートの読み方を学ぶことができます。このリストにある検索ソリューションには、このような機能が備わっているものは多くありません。
API 主導、標準準拠
Solr は、JSON、CSV、XML、バイナリなどの複数の形式を処理できる結果インターフェイスを API で提供します。 JMX 標準に従って監視データを出力するため、Java 開発者にとっては大きなメリットとなります。
Solr を支持して言いたいことはまだたくさんありますが、すべてをカバーしようとすると時間の終わりに連れて行かれます。 😂 Solr は一流のソリューションであり、扱うデータの種類に関係なく、これを使用して間違いはありません。
エラスティックサーチ
Elasticsearch は 、かつてもおそらく今も、自由形式のテキスト検索の先駆者です。実際、現在でも、プログラマーやシステム管理者に検索エンジンに関する推奨事項を尋ねると、Elasticsearch だけが 名前として挙がる可能性が高くなります。確かに、最近ではかなりの部分が Algolia のようなものを推奨していますが、それがどうなるかについてはすでに説明しました。 🤪
上の図の「無料トライアルを開始」ボタンに惑わされないでください。中核となる Elasticsearch テクノロジー自体はオープンソースで無料ですが、同社はその取り組みを収益化し、企業をターゲットにしようとしています。したがって、ここに表示されているものは、実際にはクラウド サービスのトライアル版であり、特にクラスターが関係する場合に Elasticsearch の管理が容易になります。
うーん、解くべき糸が多すぎる。要約しましょう: Elasticsearch はオープンソースで無料であり、誰でも簡単にセットアップして制限なく使用できます。
さて、予想どおり、Elasticsearch を選択した理由を詳しく見てみましょう。
- 成熟した、 歴戦の 検索エンジン。これは、「奇妙な」バグに悩まされている場合でも、解決策を見つける可能性がはるかに高いことを意味します。
- クラスタリング 、スケーラビリティ、非同期書き込みに重点を置いた一流のサービス。
- 単純な REST API 経由でアクセスできます (これは他の人がコピーしたものです)。
- ドキュメント指向ですが、必要に応じ てスキーマをサポートします 。
- 驚くほど 速くて正確な 結果が得られます。 設定可能な 検索速度。
- 量も有用性も優れ たドキュメント 。
- 利便性のためにお金を払いたい場合は、完全な検索と分析の クラウド プラットフォーム ( ELK スタック ) をご利用ください。
Elasticsearch に対する唯一の欠点は、RAM の消費量が膨大であることです。つまり、コンサルタントとして、月額 20 ドルのサーバーに投資するようクライアントを説得するのは非常に困難ですが、残念なことに、これは Elasticsearch の要求には程遠いものです。
Elasticsearch の学習に興味がある場合は、この Udemy コース をチェックしてください。

タイプセンス
Typesense は、軽量でわかりやすく、しかも強力な検索エンジンです。便利さとシンプルさを求める人は、ぜひこれを試してみてください。
Typesense の最も優れている点の 1 つは、Web サイトで直接試すことができることです。これにより、すべてをセットアップして API を試す場合のイライラと時間を節約できます。 。 。しかし、1 つ以上の機能が期待どおりに動作しないことがわかります。
これは、エンジンにバグがある可能性があるということではありません。それは、エンジンの何かに対する考え方があなたの好みではないかもしれない、あるいはそれがあなたのビジネス領域と完全に矛盾しているかもしれないというだけです。タイプミス、特殊記号、同義語など。 。 。エンジンが出力する結果はホームページで直接確認できます (これには書籍データベースが使用されています)。
ご覧のとおり、このセクションは一番上のセクションのすぐ下にあります。検索ボックスに「tra」というクエリを入力すると、書籍データベースからの一致結果が下に表示されます (合計結果、現在のページなどのメタデータも同様)。
Typesense は、検索エンジンとして最適な選択肢を提供します。
- その背後にあるテクノロジーは完全に オープンソース であり、歓迎されています。
- 必要に応じて、 HA (高可用性) セットアップを簡単に構成できます。
- 検索クエリ内のタイプミスやその他のノイズに対して 寛容です 。
- 検索結果をきめ細かく制御する必要がある人向けの 高度なフィルタリング システム。
- シンプルな REST API ですが、ドキュメントを読むと見つけるのにさらに苦労することになります。
- クライアント ( SDK ) は、主要な言語 (JavaScript、Python、Ruby、および PHP) の一部で使用できます。
最後に、新しいサーバーをセットアップするのが面倒だと感じる場合は、Typesense にはワンクリックでプロビジョニングできる クラウド製品 もあります。料金は時間単位で課金され、読み取りと書き込みは従量制で行われます。率直に言って、事前に価格設定を検討し、それが純利益になることを確認していれば、ほとんどの企業にとってこれがより良い選択肢であると私は言います。
全体的に見て、小型で、滑らかで、正確で、本格的な主力製品が必要な場合、Typesense は非常に理にかなっています (冗談ではありません!)。

ソニック
Sonic は 、「数 MB の RAM」で動作する ElasticSaerch の代替品であることを誇りに思っています。
これはどのようにして可能でしょうか?
Java 仮想マシン (JVM) は RAM を大量に消費することが知られています (一般に、JVM を起動するだけで約 1 GB の RAM を消費します)。したがって、Rust 言語でコード化されたもの (開発者に完全な制御とメモリ安全性を提供する) が同じくらい高速に実行でき、使用する RAM はわずか数 MB であることは驚くべきことではありません。
この記事の執筆時点で、そのユーザーには数社の企業がリストされていますが、名前を追加することに抵抗を感じなかった企業もさらにいくつかあると思います。正確な時期や方法は覚えていませんが、以前にソニックに出会っていました。当時、低メモリの代替手段が見つかってうれしかった一方で、安定化して隠れたバグを解決するには時間が必要だと考えていました。まあ、彼らは多かれ少なかれ到着したようです。ソニックがどれほど人気になるかは、時間が経てばわかるでしょう。
さて、長い考察はさておき、なぜあなたの組織/プロジェクトに Sonic の使用を検討する必要があるのでしょうか?
理由は次のとおりです。
- 検索エンジンに関する限り、 メモリ使用量が非常に少ない 。
- ライブラリはすべての主要なプログラミング言語で利用できます 。 Node、PHP、Rust は作者自身がリリースしたものですが、その他はコミュニティによって作成されたものです (Elixir や Nim のようなエキゾチックなハードウェアもカバーされているので、喜んでください!)。
- いくつかの言語 がサポートされています (多すぎて数えられませんが、この記事を書いている時点では 40 ~ 50 の言語がサポートされていると思います)。
- 驚き! 新しい言語を使用することもでき、 エンジンは動作します (😂😂)。ただし、ストップワードなどの高度な機能はいくつか失われます。
- 非常に 速いエンジン 。 GitHub ページをチェックすると、いくつかのケースで取り込み時間と検索時間がマイクロ秒単位であることがわかります。もちろん、ネットワーク遅延により数値がこれほど低くなることはありえないため、これは単一マシンのテストでした。
このエンジンの動作を確認したい場合は、 この リンク (ユーザー企業の 1 つ) にアクセスし、そこに表示される検索ボックスを試してください。
検索エンジンとしての Sonic には特定の制限があります。開発者たちは、GitHub ページでそれらを強調し、オープンに議論しました。私のアドバイスは、このリストを詳しく調べて、あなたのユースケースがそのドメインと共通していないことを確認することです。とはいえ、何事にも限界があります。それはただ隠されているだけなので、手遅れになるまで気づかないだけなのです。したがって、私は Sonic が検索エンジンとして最適であると考えています。
TNTサーチ
このリストに魅力的なエントリーが加わりました。まず興味深いのは、この完全な機能を備えた実稼働対応の検索エンジンが PHP で書かれていることです。
はい、可能なすべての言語の中で、PHP です。私がそう言っているのは、PHP が嫌いだからではなく、設計上、PHP が短命なプロセスだからです。
2 番目に興味深いのは、少なくとも執筆時点ではライセンスです。実際、ライセンス自体は MIT なので問題ありませんが、作者はこのソフトウェアを PS4Ware として分類しています。 TNTSearch を 運用環境で使用する場合は、PS4 ゲームを送信する必要があります。 😂😂 さて、「すべき」が示すように、これは必須ではありませんが、信じられないほど面白いです。また、PS5 ライセンスにアップグレードしてほしいとも思っていますが、現時点では時期尚早です。
とにかく、私自身は PHP + Laravel の強力なバックグラウンドを持っているので、これらの人たちの努力を高く評価しています。彼らの ウェブサイトには 多くは書かれていませんが、彼らがコンサルタントであることを示しているようです。プロジェクトがある場合は、彼らに連絡することを強くお勧めします。
さて、プロジェクトで TNTSearch を使用する正当な理由はありますか?
はい、あります:
- PHP で、PHP のために、PHP によってコーディングされました。 PHP エコシステムには、 このような専用の高品質ソリューションが必要です。
- ファジー検索 、 地域検索 、 テキスト分類 などの重要な機能。
- 検索インデックスを 簡単に 変更でき ますが、これは多くのソリューションに欠けている大きな柔軟性です。
- ステミング、BM25 ランキング、カスタム トークン化により、 高い精度 が保証されます。
- 他の Composer パッケージと同様に、簡単に導入できます。
ここで エンジンのパフォーマンスをチェックし、その速さと正確さを自分の目で確認してください。 PHP の側面をもう一度強調したいと思います。PHP プロジェクトを維持している場合、できる限り PHP の壁内に留まりたいと考えます (なぜですか? 再トレーニングのコストを考えてください)。このような場合、TNTSearch は断りにくい価値提案をもたらします。
ベスパ
Vespa は 幅広く、重量級の製品です。このリストの他のいくつかのエントリと同様に、このリストは数言で説明するには大きすぎます。でも、頑張らなくてはいけないので、やってみます。 🙂 Vespa は確かに検索エンジンですが、通常の検索エンジンとして使用すると、その可能性を無駄にすることになります。
Vespa は、無限の量のデータ (ビッグ データ) を処理し、その上で機械学習主導の機能と無限のカスタマイズを提供するように構築されています。
Vespa は、Elasticsearch や従来のデータベースに対する競合他社としての地位を確立しており、何をいつ使用するかについて適切な比較を提供します。
ご覧のとおり、機械学習主導の運用に近づけば近づくほど、Vespa の方が理にかなっています。中小企業向けの純粋な検索エンジンとしては、他のオプションに比べて利点があるとは思えません。
さて、膨大な量のデータを継続的に生成し、AI/ML (今日の多くの SaaS ビジネスに当てはまる説明です) を通じて意思決定を改善したいと考えていることを考えると、Vespa が非常に理にかなっている理由は次のとおりです。
- オープンソース: 奇妙なライセンスや罠的な契約はありません。それに加えて支払うものはありませんが、私は企業が最もよく使用するプロジェクトに定期的な金額を支払うことを常に強調しています (月額 50 ドルでも大きな助けになります)。
- リアルタイム: Vespa はまさにリアルタイムです。受信したデータをダイジェスト、処理、検索するだけではありません。その構成さえもその場で変更できます。
- スケーラブルで寛容: Vespa はスケールするのが簡単です。突然のノード消失にも対応し、高い信頼性を実現します。
- ランキングと推奨事項: 検索、ランキング、Vespa の推奨事項を構造化クエリと融合して、真に正確な結果を提供できます。
- 痛みのない AI/ML: Vespa には、高品質の事前トレーニングされた ML モデルがバンドルされています。データをクリーンアップして使用するために 20 人のデータ サイエンティストを雇う必要はありません。
- カスタム プラグイン: エンジンの動作方法を変更する必要がある場合に、開発者がカスタム Java プラグインを作成するのに役立つ API の完全なセットが用意されています。
Vespa は間違いなく巨大なので、チームの規模、技術力、インフラストラクチャの予算、毎日のデータ量などの点で、開始レベルを少し超えているチームにとっては明らかです。このセグメントでは、Vespa がホームランを打つので、強くお勧めします。
結論
検索 🔎 は強力で、検索は魔法で、検索はどこにでもあります。
それは黒魔術でさえあるかもしれませんが、今日では誰もが(もちろん開発者の支援があれば)その恩恵を享受できない理由はありません。このリストにある検索エンジンは、企業から個人、政府に至るまで、ほぼ労力を必要とせずに、飛躍的なメリットと効果をもたらすサービスを提供します。
クラウド サーバーを取得し、上記の検索ソフトウェアをインストールして体験してください。