solr - 避免由于词干而在Solr上缓慢突出显示

标签 solr highlighting stemming

我对使用Solr感到很陌生,但想寻求您的帮助。
我正在开发一个应能突出显示查询结果的应用程序。为此,我使用正则表达式片段化器:

<highlighting>
<fragmenter name="regex" class="org.apache.solr.highlight.RegexFragmenter">
<lst name="defaults">
  <int name="hl.fragsize">500</int>
  <float name="hl.regex.slop">0.5</float>
  <str name="hl.pre"><![CDATA[<b>]]></str>
  <str name="hl.post"><![CDATA[</b>]]></str>
  <str name="hl.useFastVectorHighlighter">true</str>
  <str name="hl.regex.pattern">[-\w ,/\n\"']{20,300}[.?!]</str>
  <str name="hl.fl">dokumentum_syn_query</str>
</lst>




该字段用术语向量和偏移量索引:

<field name="dokumentum_syn_query" type="huntext_syn" indexed="true" stored="true"   multiValued="true" termVectors="on" termPositions="on"  termOffsets="on"/>
<fieldType name="huntext_syn" class="solr.TextField" stored="true" indexed="true" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="com.morphologic.solr.huntoken.HunTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_query.txt" enablePositionIncrements="true" />
        <filter class="com.morphologic.solr.hunstem.HumorStemFilterFactory"
        lex="/home/oroszgy/workspace/morpho/solrplugins/data/lex"
        cache="alma"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
        <analyzer type="query">
          <tokenizer class="solr.StandardTokenizerFactory"/>
      <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_query.txt" enablePositionIncrements="true" />
      <filter class="com.morphologic.solr.hunstem.HumorStemFilterFactory"
        lex="/home/oroszgy/workspace/morpho/solrplugins/data/lex"
        cache="alma"/>
          <filter class="solr.SynonymFilterFactory" synonyms="synonyms_query.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
</fieldType>


突出显示效果很好,但它确实很慢。我意识到这是因为荧光笔/片段化器确实再次对所有结果文档进行了填充。

您能否帮助我为什么会发生这种情况,我应该如何避免这种情况? (我以为使用fastvectorhighlighter可以解决我的问题,但事实并非如此)

最佳答案

问题是,我尝试使用值“ on”代替“ true”。因此,该方案的正确行是:

    <field name="dokumentum_syn_query" type="huntext_syn" indexed="true" stored="true"   multiValued="true" termVectors="true" termPositions="true"  termOffsets="true"/>

关于solr - 避免由于词干而在Solr上缓慢突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6873951/

相关文章:

json - 如何使用 Solr 索引哈希数组

python - Django-Haystack with Solr 包含搜索

nltk - 用 wordnet lemmatizer 阻止一些复数不起作用

java - 词干的逆过程

c# - Word 如何在高级搜索中找到匹配的词形?

hadoop - google爬虫的重新抓取策略

elasticsearch - 在具有多个模式的关系数据库上进行全文搜索

c# - TextBox - 我可以在失去焦点时保持选择突出显示吗?

jQuery 验证插件 : add/remove class to/from element's error container

javascript - 如何使用 javascript 更改 HTML 中不匹配单词的颜色