文字列について複数のフィールドをクエリする場合、クエリ用語が見つかったフィールドの情報を取得することはできますか?
説明、情報、追加情報を照会したい...しかし、さまざまなレイアウトを提供したいので、どのフィールドが結果をもたらしたかを知る必要があります。
Luceneの方法:を見てくださいIndexSearcher.explain(...)
。これにより、に対してどのようにスコアリングされたExplanation
かを説明するが得られます。doc
query
Solrの方法:を追加し&debugQuery=true
ます。collection:61
私はこのドキュメントを照会して入手しました:
<doc>
<str name="collection">61</str>
...other fields...
<long name="uuid">1111</long>
</doc>
そして、以下はこれです
<lst name="explain">
<str name="1111">
0.882217 = (MATCH) fieldWeight(collection:61 in 0), product of: 1.0 =
tf(termFreq(collection:61)=1) 0.882217 = idf(docFreq=8, maxDocs=8) 1.0 =
fieldNorm(field=collection, doc=0)
</str>
...
</lst>
上記は基本的に、アイテム1111collection
に値のフィールドがあったことを示しています61
。debug.explain.structured
この説明文字列をより構造化された形式で取得するように要求することもできます。