[英]Highlighting multivalue field in solr response
我有一個與在Solr響應中突出顯示多值字段有關的問題。 如何突出顯示與Solr過濾器查詢匹配的多值字段? 以下是我的文檔類型,
<doc>
<str name="id">CAID_332_1003</str>
<arr name="lang_spec_labels">
<str>1_Label for UK</str>
<str>2_Label for US</str>
<str>4_Label for FR</str>
</arr>
</doc>
#My solr config details
<requestHandler name="/select" class="solr.StandardRequestHandler">
<lst name="defaults">
<str name="hl">on</str>
<str name="hl.fl">lang_spec_labels</str>
<str name="hl.encoder">html</str>
<bool name="hl.preserveMulti">false</bool>
<bool name="hl.useFastVectorHighlighter">true</bool>
<str name="f.lang_spec_labels.hl.fragsize">100</str>
<str name="f.lang_spec_labels.hl.alternateField">lang_spec_labels</str>
<str name="f.lang_spec_labels.hl.maxAlternateFieldLength">750</str>
<str name="hl.bs.type">SENTENCE</str>
</lst>
</requestHandler>
<searchComponent class="solr.HighlightComponent" name="highlight">
<highlighting class="org.apache.solr.highlight.PostingsSolrHighlighter">
<fragmentsBuilder name="default" default="true" class="solr.highlight.ScoreOrderFragmentsBuilder">
<lst name="defaults">
<str name="hl.multiValuedSeparatorChar">##</str>
</lst>
</fragmentsBuilder>
<encoder name="html" class="solr.highlight.HtmlEncoder" />
<formatter name="html"
default="true"
class="solr.highlight.HtmlFormatter">
<lst name="defaults">
<str name="hl.simple.pre"><![CDATA[<em>]]></str>
<str name="hl.simple.post"><![CDATA[</em>]]></str>
</lst>
</formatter>
</highlighting>
</searchComponent>
My Solr query like q=lang_spec_labels:(1_*)
My Solr Response
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">7</int>
</lst>
<result name="response" numFound="1" start="0">
<doc>
<arr name="lang_spec_labels">
<str>1_Label for UK</str>
<str>2_Label for US</str>
<str>4_Label for FR</str>
</arr></doc>
</result>
<lst name="highlighting">
<lst name="CAID_332_1003">
<arr name="lang_spec_labels">
<str>1_Label for UK 2_Label for US 4_Label for FR</str>
</arr>
</lst>
</lst>
現在使用CITIES:*DEL*
查詢,突出顯示的solr應該只返回單詞中包含DEL的城市。 我怎樣才能做到這一點?
關於如何解決這個問題有什么想法或建議嗎?
尋找所有人的積極回應...
預先感謝您的支持。
問候,Ashish Mishra
如參數名稱所示,multiValuedSeparatorChar應該是單個字符。 你沒有這樣的例外嗎?
null:java.lang.IllegalArgumentException: hl.multiValuedSeparatorChar must be exactly one character.
因此,我建議使用單個字符:
<str name="hl.multiValuedSeparatorChar">#</str>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.