嗨,我正在用Solr 4.1搜索引擎开发rails应用程序,
当我将高亮显示添加到searchSolr中时,请使用以下警告开始垃圾处理tomcat6日志:
Jan 29, 2015 12:13:38 PM org.apache.solr.highlight.DefaultSolrHighlighter useFastVectorHighlighter
WARNING: Solr will use Highlighter instead of FastVectorHighlighter because *Field_Name* field does not store TermPositions and TermOffsets.我在schema.xml中的字段示例:
<field name="name" type="text" indexed="true" stored="true" multiValued="true"/>
我在文件中发现的是:
标准荧光笔是荧光笔的瑞士军刀.它有最复杂和细粒度的查询表示三个荧光笔。例如,即使对于高级的查询解析器,如环绕声解析器,这个荧光笔也能够提供精确的匹配。它不需要任何特殊的数据结构,如termVectors,但如果它们存在,它将使用它们。如果他们不是,这个荧光笔将重新分析文件的动态,以突出它。这个荧光笔是一个很好的选择,广泛的搜索用例。FastVector荧光笔
FastVector荧光笔需要字段上的术语向量选项(termVectors、termPositions和termOffsets),并考虑到这一点进行优化。与标准荧光笔相比,它更适合于更多的语言,因为它支持Unicode断线器。另一方面,它的查询表示形式不如标准荧光笔:例如,它不能很好地处理环绕声解析器。这个高亮笔是一个很好的选择,大型文档和高亮文本的各种语言。
FastVector高亮显示提供了更快的搜索:http://solr.pl/en/2011/06/13/solr-3-1-fastvectorhighlighting/。
但是高亮和FastVectorHighlighting的配置有什么不同呢?
当我将突出显示改为FastVectorHighlighting时,用户会看到搜索结果的差异吗?
要打开FastVectorHighlighting,我需要做的就是将termVectors="on" termPositions="on" termOffsets="on"/>添加到schema.xml中的每个字段中?比如:
<field name="name" type="text" indexed="true" stored="true" multiValued="true" termVectors="on" termPositions="on" termOffsets="on"/>
我还在Solr文档中发现了这个问题:https://issues.apache.org/jira/browse/SOLR-5544
但是我仍然不知道如何修正一个警告,因为我的日志文件的大小每秒钟增加500 MB!这很关键,因为如果卷上没有空闲空间,seach服务器就会停止。
拜托救救我。
发布于 2015-01-29 14:55:25
我在schema.xml中找到了字段,其中包括没有termPositions="true" termOffsets="true"的termVectors="true"属性。
这是警告的原因。
所以,我做的是:
termPositions="true" termOffsets="true"添加到schema.xml wihch中的字段中只有termVectors="true"属性termVectors="true" termPositions="true" termOffsets="true"添加到我在警告中发现的每个字段中:("...field电话不存储位置和偏移量.“例如)在我运行重新索引之后,它不会修复日志中的“垃圾邮件”警告。
这个问题的原因-出售没有看到schema.xml更新,而tomcat没有重新启动。
所以,我重新启动了tomcat:
sudo /etc/init.d/tomcat6 restart。非常感谢@chefe帮忙!
https://stackoverflow.com/questions/28197915
复制相似问题