1

この機能が Solr で実装できるかどうかを確認しようとしています。

テキスト フィールドを定義し、クエリ アナライザーでStopFilterFactoryPorterStemFilterFactoryを定義しました。

リクエスト ハンドラとしてedsimaxを使用します。

私の現在の実装では、次を検索すると:
q = "this is a phrasing query" this is not phrasing

lucene クエリは次のようになります: (疑似構文ですみません)
text:"this ? phras query" | テキスト: これ | テキスト:句

私が取得したいのは次のとおりです。
text:"this is a phrasing query" | テキスト: これ | テキスト:句

言い換えれば、フレーズを引用符で囲む動作を次のように設定したいと思います。
ドキュメントは、トークン化されていないフレーズ全体が表示される場合にのみ一致します。

処理を行わない追加のフィールドを定義し、edismax 構成でブーストを増やすことで、それが可能になる可能性があることを理解しています。

ただし、これは正確なフレーズを含まないドキュメントの一致を返します。

これはSolrで実装できますか? どのように?

4

1 に答える 1

2

クエリのさまざまな部分を個別のフィールドと照合するのはどうですか? fqフィルタリングするため、text_exactまたはスコアリングのための通常の検索構文を使用してtext_exact:"this is a phrasing query" this is not phrasing、最後の用語をデフォルトの検索フィールドまたはqfiirc に対して検索する必要があります。

于 2014-07-01T09:10:57.353 に答える