首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr -突出显示查询短语

Solr -突出显示查询短语
EN

Stack Overflow用户
提问于 2011-11-29 09:55:31
回答 2查看 2.3K关注 0票数 5

是否可以突出显示整个查询项?f.e.当我要求“美国”时,我想要:

代码语言:javascript
复制
<em>United States</em>

而不是:

代码语言:javascript
复制
<em>United</em> <em>States</em>

我在整个互联网上搜索了一个答案,使用了hl.mergeContiguoushl.usePhrasesHighlighterhl.highlightMultiTerm参数的所有组合,但仍然无法让它工作。

我的问题是:

代码语言:javascript
复制
http://localhost:8983/solandra/idxPosts.proj350_139/select?q=post_text:"Janusz Palikot"&hl=true&hl.fl=post_text&hl.mergeContiguous=true&hl.usePhrasesHighlighter=true&hl.highlightMultiTerm=true

答案是:

代码语言:javascript
复制
...
<arr name="post_text"><str>Tag: <em>janusz</em> <em>palikot</em> - Sowiniec: "Sowiniec"</str></arr>
...

我的"post_text“字段是:

代码语言:javascript
复制
<field name="post_text" type="text" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" required="true" />

我的“文本”类型是:

代码语言:javascript
复制
<fieldType name="text" class="solr.TextField">
    <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory" />
        <filter class="solr.TrimFilterFactory" />
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_pl.txt" />
        <filter class="solr.ReversedWildcardFilterFactory" />
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory" />
        <filter class="solr.TrimFilterFactory" />
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_pl.txt" />
    </analyzer>
</fieldType>

我还尝试将FastVectorHighlighterhl.useFastVectorHighlighter=true结合使用,但遇到了一个错误:

代码语言:javascript
复制
Problem accessing /solandra/idxPosts.proj350_139/select. Reason:

    -6

java.lang.ArrayIndexOutOfBoundsException: -6
    at lucandra.TermFreqVector.getOffsets(TermFreqVector.java:224)
    at org.apache.lucene.search.vectorhighlight.FieldTermStack.<init>(FieldTermStack.java:100)
    at org.apache.lucene.search.vectorhighlight.FastVectorHighlighter.getFieldFragList(FastVectorHighlighter.java:175)
    at org.apache.lucene.search.vectorhighlight.FastVectorHighlighter.getBestFragments(FastVectorHighlighter.java:166)
    at org.apache.solr.highlight.DefaultSolrHighlighter.doHighlightingByFastVectorHighlighter(DefaultSolrHighlighter.java:509)
    at org.apache.solr.highlight.DefaultSolrHighlighter.doHighlighting(DefaultSolrHighlighter.java:376)
    at org.apache.solr.handler.component.HighlightComponent.process(HighlightComponent.java:116)
    at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:194)
    ...

你能帮帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2011-11-29 15:34:37

对于短语突出显示,有一个Jira静态等待通过Solr代码。

票数 7
EN

Stack Overflow用户

发布于 2011-11-30 12:42:12

切赫的索尔多为此,有参数hl,设置为真。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8308809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档