検索
SearchWPの仕組み
最も基本的なレベルでは、SearchWPは2つのことを行います。
- エンジンを分析して見つかったコンテンツをインデックス化します
- 検索を受け入れ、インデックスに対して実行します
両方の操作には多くのニュアンスがありますが、SearchWPの核となる基本的な目的は、コンテンツをインデックス化して検索可能にすることです。SearchWPは、WordPressのネイティブ検索プロセスに統合することで、さらに一歩進んでいます。これにより、多くの場合、SearchWPは「コード不要」のソリューションになります。
SearchWPは、ネイティブWordPressの検索結果を即座に改善するだけでなく、エンジンとクエリの任意の組み合わせを使用したカスタム検索実装を容易にすることで、開発者にとって最良の味方となることを目指しています。
インデックス作成
SearchWPが優れた検索結果を提供できるようになる前に、適切な検索インデックスを構築する必要があります。これは、カスタムデータベーステーブルのセットとトークン化と呼ばれるプロセスを利用して行われます。
SearchWPのインデクサーがエンジンを処理できるようになると、そのエンジンの構成を使用して、バックグラウンドプロセスでインデックス化する必要があるサイトのコンテンツを検索します。これは、(ほとんどの場合)SearchWPのインデクサーが機能するためにブラウザウィンドウを開いたままにする必要がないことを意味します。
SearchWPのエンジンはソースで構成され、各ソースには独自の属性とルールがあります。インデクサーは、コンテンツを見つけて各該当エントリから必要なものを取得する際に、これらすべてを考慮に入れます。
次に、各エントリのコンテンツはトークン化されます。つまり、検索アルゴリズムが処理できる小さな断片に分割されます。インデクサーは、すべての該当エントリが処理されるまでサイクルします。
インデクサーは、サーバーに過負荷をかけたり訪問者を妨害したりすることなく、可能な限り高速に(例:インデックスの構築時間を短縮する)実行するように構成されています。
初期インデックスが構築されると、インデクサーはサイト上のコンテンツの編集を監視し、時間とともに簡単に追加/削除/編集されたエントリに非常に小さなデルタ更新を適用します。
検索
インデックスが構築されると、SearchWPはそれをクエリして非常に高速に関連性の高い検索結果を提供できます。これは主に、インデクサーによって達成されるトークン化プロセスによるものです。
SearchWPが検索を実行する方法は3つあります。
- ネイティブWordPressの検索リクエストをインターセプトする
\SearchWP\Queryを使用したプログラムによる呼び出しSWP_Queryを使用したプログラムによる呼び出し
検索が実行されると、常にエンジンが適用されます。そのエンジンの構成は、どの結果が該当するかを決定し、各ソースの属性の関連性重みを考慮に入れることで、結果のランキングにも影響を与えます。
\SearchWP\QueryおよびSWP_Queryのプログラムによる呼び出しには、検索フォームと検索結果テンプレートの両方のセットアップが必要になります。これは、補足エンジンガイドで説明されています。
ドキュメント処理
インデックス作成プロセスの一環として、SearchWPは、該当する場合、サポートされているドキュメントからテキストコンテンツを抽出します。このプロセスが成功すると、解析されたコンテンツはトークン化され、あたかも属性として保存されていたかのようにインデクサーによって処理されます。メディアがエンジンに追加されると、ドキュメントコンテンツは独自の関連性重みを受け取ることができます。
SearchWPがドキュメントを処理する方法の詳細については、この記事を参照してください:ドキュメント処理の詳細

