テキストファイルのコンテンツに対してSolrベースの検索を実行しようとしています。要件は、各ドキュメント内の検索語のすべてのヒットと、ヒットの周囲の強調表示されたテキストを返すことです。
見つかったドキュメントの数と、ドキュメント内の検索語の最初のヒットの前後に強調表示されたスニペットを返すことができます。ただし、検索語が見つかったドキュメント全体のハイライトのリストは返されません。TermFrequencyは正しい数として報告されますが、これらすべての発生に関するスニペットは報告されません。
solrスキーマの関連部分:
<field name="Content" type="text_general" indexed="false" stored="true" required="true"/>
<field name="ContentSearch" type="text_general" indexed="true" stored="false" multiValued="true"/>
<copyField source="Content" dest="ContentSearch"/>
たとえば、インデックスが作成されたa.txtとb.pdfがあり、検索語「case」が両方のドキュメントに複数回存在する場合(a.txt-7ヒット、b.pdf-10ヒット)、両方のドキュメントに対して「case」を検索すると、正しい用語頻度(7と9)で2つのドキュメントが返されますが、ハイライトリストにはファイルの最初のヒットに対応するレコードが1つだけ含まれています。
これは、コンテンツフィールドにTermVectorComponentを使用することと関係がありますか。私は読んだことがありますが、TVCがどのように機能し、どのような状況で役立つかを完全に理解することはできませんでした。