如何突出显示最长的solr标记
我试图突出显示查询中的确切搜索词,但突出显示的词将作为标记化字段中最短的标记返回。例如,查询“Entr”将导致高亮显示entry。我希望高亮显示返回entry 这是最简单的查询,匹配答案中术语的每个实例: q=标题标记:Entr&hl=on&hl.fl=标题标记&hl.useFastVectorHighlighter=true 移除FastVectorHighlighter将给出整个术语,但每个结果仅一次,在某些情况下,它不匹配 我尝试添加hl.q、hl.highlightingMultiTerm、hl.usephrasehiller和其他几个变量,但我只能得到最短标记的每个实例或搜索项的第一个实例 我试图突出显示的字段是Title_标记,它是从字符串复制的如何突出显示最长的solr标记,solr,solr-highlight,Solr,Solr Highlight,我试图突出显示查询中的确切搜索词,但突出显示的词将作为标记化字段中最短的标记返回。例如,查询“Entr”将导致高亮显示entry。我希望高亮显示返回entry 这是最简单的查询,匹配答案中术语的每个实例: q=标题标记:Entr&hl=on&hl.fl=标题标记&hl.useFastVectorHighlighter=true 移除FastVectorHighlighter将给出整个术语,但每个结果仅一次,在某些情况下,它不匹配 我尝试添加hl.q、hl.highlightingMultiTer
<field name="RawTitle" type="string" required="true" />
<field name="Title_Tokens" type="Tokenized_Title" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
<copyField source="RawTitle" dest="Title_Tokens" />
<fieldType name="Tokenized_Title" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" maxGramSize="15" minGramSize="3"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
在分析“entr”字段时,我看到了“ent、entr和ntr”的标记。对我来说,第一个匹配的标记看起来是高亮显示的,但我想对最长的匹配进行优先级排序。这就是正在发生的事情,还是我做了一些不正确的事情
我还考虑使用EdGeNigRotoKeNeZiFrand从单词后面匹配,但是这会停止单词中间的匹配。
字段需要查询。索引器工作正常,但它匹配所有内容并返回第一个匹配标记。结合查询分析器,只匹配最长的结果
<fieldType name="Tokenized_Title" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="1" maxGramSize="15" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
该字段需要查询。索引器工作正常,但它匹配所有内容并返回第一个匹配标记。结合查询分析器,只匹配最长的结果
<fieldType name="Tokenized_Title" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="1" maxGramSize="15" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>