我一直在玩solr大約一週。我的問題可能與突出顯示有關,因爲我無法在SO或Internet上的任何地方找到解決方案。solr突出顯示結果 - <lst>節點不包含名稱屬性
我已啓用突出顯示,幾乎一切正常 - 我得到的搜索結果和突出顯示的部分返回<lst name="highlighting">
。
問題是,實際上包含高亮部分文本的子節點都沒有名稱屬性,該屬性應該與相應結果項的ID屬性相同。
下面是使用solr admin從搜索返回結果的摘錄。
<result name="response" numFound="121" start="0" maxScore="2.3798883">
<doc>
<float name="score">2.3798883</float>
<str name="Turn">Android Linux</str>
<str name="id">dcc190ba-143b-4fb7-b868-ef06875210fe</str>
<float name="startTime">961.98</float>
</doc>
<doc>
<float name="score">1.009701</float>
<str name="Turn">
ci sono per� degli aspetti diversi perch� Microsoft vendeva windows mentre l' Ugl regala Android che quindi la licenza Android non costa nulla
</str>
<str name="id">804df3fb-3709-4bf8-a0d0-718dc5da18f1</str>
<float name="startTime">2445.19</float>
</doc>
</result>
<lst name="highlighting">
<lst>
<arr name="Turn">
<str><span class="highlight">Android</span> Linux</str>
</arr>
</lst>
<lst>
<arr name="Turn">
<str>ci sono per degli aspetti diversi perch Microsoft vendeva windows mentre l' Ugl regala <span class="highlight">Android</span>
</str>
</arr>
</lst>
<lst>
<arr name="Turn">
<str><span class="highlight">Android</span> nd Kappa e l' ambiente che ci permette di scrivere in codice in attivo
</str>
</arr>
</lst>
</lst>
可以看出,每個結果都有id屬性。只是它沒有在節點中使用。
我使用的是由solr自動生成的id的uuid類型。
這是我的schema.xml文件的一部分。
<field name="id" type="uuid" indexed="true" stored="true" required="true" default="NEW"/>
<field name="startTime" type="float" indexed="true" stored="true" />
<field name="Turn" type="text_general" indexed="true" stored="true"/>
的字段類型UUID是作爲在下面的Schema.xml文件中定義:
<fieldType name="uuid" class="solr.UUIDField" indexed="true" />
而下面是生成的ID(solrconfig.xml中)更新處理器:
<updateRequestProcessorChain name="uuid">
<processor class="solr.processor.SignatureUpdateProcessorFactory">
<bool name="enabled">true</bool>
<str name="signatureField">id</str>
<bool name="overwriteDupes">false</bool>
<str name="fields">*</str>
<str name="signatureClass">solr.processor.Lookup3Signature</str>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
如果沒有id作爲項目中name屬性的值,我將無法進行進一步處理,例如替換結果中的文本。 我希望這個信息足夠。請不要讓我知道。我一直在試圖讓這個問題有兩天的時間。
乾杯。
我正在使用solr 3.6,FYI。 –