【问题标题】:Show all occurrences of query while highlighting in solr 1.4在 solr 1.4 中突出显示时显示所有出现的查询
【发布时间】:2014-06-23 11:35:32
【问题描述】:

我有一个 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 字母计数为止。

可能是什么原因?

【问题讨论】:

    标签: solr


    【解决方案1】:

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

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

    如果您仍然无法使其工作,请在较新版本的 Solr 上对其进行测试,看看它是否是已修复的问题。

    【讨论】:

      【解决方案2】:

      所以,经过大量询问,它现在可以工作了。

      查询参数正确。架构引起了问题。所做的更改是 -

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

      被替换为

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-17
        • 2019-05-18
        • 2014-07-08
        • 1970-01-01
        • 2013-08-30
        • 1970-01-01
        相关资源
        最近更新 更多