ハイライトで奇妙な問題が発生しています。私は大まかに次のような単純な構成を持っています:
<str name="defType">edismax</str>
<str name="qf">all_text</str>
...
<str name="hl">on</str>
<str name="hl.fl">*</str>
<bool name="hl.requireFieldMatch">false</bool>
「all_text」という単一のキャッチオールフィールドで検索を実行し、ドキュメント内の他のフィールドで強調表示を機能させたいと考えています。そのためrequiredFieldMatch=false
、
強調表示されることを意図した他のすべてのフィールドにインデックスが付けられて保存され、ディレクティブを使用してall_textにコピーされ<copyField>
ます。
これはテキストフィールドでは問題なく機能しますが、フィールドのタイプがtint(TrieIntegerField)の場合、Solrはそれらのハイライト情報を返しません。たとえば、私はこのフィールドを持っています:
<field name="age" type="tint" indexed="true" stored="true" />
と:
<copyField source="age" dest="all_text" />
ただし、検索結果では強調表示されません。