2011-11-29 24 views
5

Có thể đánh dấu toàn bộ cụm từ truy vấn không? f.e. khi tôi yêu cầu "Hoa Kỳ" Tôi muốn nhận được:Solr - làm nổi bật cụm từ truy vấn

<em>United States</em> 

và không:

<em>United</em> <em>States</em> 

Tôi đã tìm kiếm toàn bộ mạng Internet cho một câu trả lời, sử dụng tất cả các kết hợp của hl. mergeContiguous, hl.usePhrasesHighlighterhl.highlightMultiTerm thông số và vẫn không thể làm cho nó hoạt động.

truy vấn của tôi là:

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 

câu trả lời là:

... 
<arr name="post_text"><str>Tag: <em>janusz</em> <em>palikot</em> - Sowiniec: "Sowiniec"</str></arr> 
... 

tôi trường "POST_TEXT" là:

<field name="post_text" type="text" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" required="true" /> 

của tôi "text" loại là:

<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> 
.210

Tôi cũng cố gắng sử dụng FastVectorHighlighter với hl.useFastVectorHighlighter = true nhưng gặp phải một lỗi:

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) 
    ... 

bạn có thể giúp tôi, xin vui lòng?

+0

bạn đã bao giờ tìm cách đánh dấu toàn bộ cụm từ (và chỉ có vậy) trong kết quả Solr chưa? ... Tôi biết đây là năm sau, nhưng tôi vẫn không thể tìm được câu trả lời – mibm

Trả lời

7

Để đánh dấu cụm từ, có một số ảnh tĩnh là Jira đang chờ để chuyển sang mã Solr.

-1

Chech solr doc cho điều này, có tham số hl, đặt giá trị này thành true.

Các vấn đề liên quan