SOLR 検索の関連性について、SME からのルールがあります。こんなふうになります。
"XX"、"YY"、または "ZZ" という単語がユーザーの検索語句に含まれている場合、結果の document_type "MMMM" を大幅にブーストします。(ただし、その場合のみ、ドキュメント自体に重みを付けることができないと思います。)
指定された用語「XX」などの存在をチェックし、document_type「MMMM」を大幅にブーストする事前構築済みクエリにそれらをプラグインする「クエリプリプロセッサ」を構築することを想像できます。
それは私には少し不格好に感じます。これをコードで実行し、2 つのルールの用語が検索に含まれる「結合」状況を処理することは、私が維持したいことのようには思えません。
これを行うためにSOLRを活用する方法があるかどうか疑問に思っていますか? 最初に頭に浮かぶのは、データを前処理してSOLRに入れるときに、特定の検索用語「XX」などを任意のdocument_type「MMMM」に入れることです。
それらをドキュメントのテキストに放り込むだけでは、おそらく重みがそれほど変わることはありません-特にその用語がそのdocument_typeの一部ではない他のドキュメントにある場合-そして、それはすべてのドキュメントの「important_abbreviations」フィールドとすべてのクエリにその一般的なフィールドのブーストを含める「標準的な」方法。クエリを除いて、ドキュメント内の特定のフィールドをブーストする方法を見た覚えがないからです。
他の誰かがこの問題を解決したかどうか疑問に思っています。もしそうなら、どのように - これらは両方とも私には少し不格好に感じるからです。