0

ブラウザで次のクエリを使用して、SolrのMoreLikeThis機能を試しています。

http://localhost:8983/solr/gettingstarted_shard1_replica1/select?qt=mlt&q=id:31&mlt=true&mlt.fl=firstName,lastName&mlt.mindf=1&mlt.mintf=1&mlt.count=10

これは機能していますが、応答は次のようになります。

<response>
<lst name="responseHeader">
         ... //removed for brevity
</lst>
<result name="response" numFound="1" start="0" maxScore="1.0">
   <doc>
      <str name="id">31</str>
      <str name="firstName">Alex Luis Armstrong</str>
      <str name="lastName">Major Wolf</str>
      <long name="_version_">1534338957920174080</long>
   </doc>
</result>
<lst name="moreLikeThis">
   <result name="31" numFound="4" start="0" maxScore="0.419522">
      <doc>
         <str name="id">32</str>
         <float name="score">0.419522</float>
      </doc>
      <doc>
         <str name="id">33</str>
         <float name="score">0.0254616</float>
      </doc>   
   </result>
</lst>
</response>

ID 32 と 33 の結果に返されfirstNameないのはなぜですか?lastName

フィールドの種類: ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

4

2 に答える 2

1

実際には何が起こっているのかわかりませんが、調査することをお勧めする場所が 2 つあります。

  1. クエリ文字列に parameter があることがわかりますqt=mlt。指定された要求ハンドラまたはクエリ タイプ パラメータ ( solrconfig.xml) は、パラメータをオーバーライドできます。qtしたがって、パラメーターを削除して追加することをお勧めしますmlt.match.include=true。このパラメーターは、一致したドキュメントを応答に含めるかどうかを指定します。
  2. 特に、とが宣言されschema.xmlている部分を投稿することをお勧めします。firstNamelastName
于 2016-05-17T08:05:11.507 に答える
0

パラメーターを使用して、通常の (非 mlt) クエリと同様に、返されるフィールドを指定しflます。

このパラメーターは、Solr に類似したフィールドとフィールドmlt.flを持つドキュメントのみを考慮するように指示するだけです。 firstNamelastName

これらのフィールドも返したい場合は、 を渡し...&fl=firstName,lastName&...ます。

于 2016-09-10T02:11:33.460 に答える