在solr 1.4中突出显示时显示所有出现的查询

时间:2014-06-23 11:35:32

标签: solr

我有一个solr setup(1.4),其中包含带有电子书数据的文本字段。击中solr时的参数是 -

"hl.fragsize":"0", "indent":"1", "hl.simple.pre":"{{{", "hl.fl":"body_eng", "hl.maxAnalyzedChars":"-1", "wt":"json", "hl":"true", "rows":"1", "fl":"ia,body_length,page_count", "q":"ia:talesofpunjabtol00stee AND PUNJAB", "q.op":"AND", "f.body_eng.hl.snippets":"428", "hl.simple.post":"}}}", "hl.usePhraseHighlighter":"true"}},

然而,结果显示只有20个突出显示的单词PUNJAB。 我试过f.body_eng.hl.snippets":"428",但这甚至都没有用。

body_eng是一个大文本字段。突出显示只能使用一段时间。我也试过其他的话。在所有的例子中,突出显示直到大约54K字母计数。

可能是什么原因?

2 个答案:

答案 0 :(得分:2)

首先:1.4是Solr的一个非常老的版本。我不确定当时是否支持每个字段值(突出显示本身是在Solr 1.3中引入的)。默认荧光笔在3.1中已更改。

但是,您应该能够通过为hl.maxAnalyzedChars提供较大的值来突出显示字段中的所有出现(不确定-1是否会执行您想要的操作)。另一个尝试的选项应该是具有较大的hl.maxAnalyzedChars值和较大的hl.fragsize值(对两个字段使用相同的值而不是0)。

如果您仍然无法让它工作,请在更新版本的Solr上进行测试,看看它是否已经修复了。

答案 1 :(得分:0)

所以,经过多次询问后,它现在正在工作。

查询参数是正确的。架构导致了问题。完成的更改是 -

<filter class="solr.SnowballPorterFilterFactory" language="English" />

替换为

<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />