我们正在尝试对文本文件的内容执行基于 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 hits, b.pdf - 10 hits),当执行针对这两个文档搜索“案例”,我们将返回两个文档,并以正确的词频(7 和 9)返回,但突出显示列表仅包含一个记录,该记录对应于文件中的第一个命中。
这是否与将 TermVectorComponent 用于内容字段有关。我已阅读但无法完全弄清楚 TVC 的工作方式以及在何种情况下它会有所帮助。