我有一个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字母计数。
可能是什么原因?
答案 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" />