solr突出显示结果-<;lst>;节点不包含name属性
我已经和索尔玩了大约一个星期了。我的问题可能是一个罕见的与突出显示相关的案例,因为我无法在SO或互联网上的任何地方找到解决方案 我已经启用了高亮显示,几乎一切都正常-我得到了搜索结果,高亮显示的部分在solr突出显示结果-<;lst>;节点不包含name属性,solr,Solr,我已经和索尔玩了大约一个星期了。我的问题可能是一个罕见的与突出显示相关的案例,因为我无法在SO或互联网上的任何地方找到解决方案 我已经启用了高亮显示,几乎一切都正常-我得到了搜索结果,高亮显示的部分在中返回 问题是,实际上包含文本突出显示部分的所有子节点都没有name属性,该属性应该与相应结果项的id属性相同 下面是使用solr admin从搜索返回的结果的摘录 <result name="response" numFound="121" start="0" maxScore="2.379
中返回
问题是,实际上包含文本突出显示部分的所有子节点都没有name属性,该属性应该与相应结果项的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>
2.3798883
安卓Linux
dcc190ba-143b-4fb7-b868-ef06875210fe
961.98
1.009701
索诺佩尔酒店� 多角形鲈鱼� 微软windows Mentere l'Ugl regala Android che quindi la Licensza Android non-costa nulla
804df3fb-3709-4bf8-a0d0-718dc5da18f1
2445.19
安卓Linux
ci sono per degli aspetti Diversis perch Microsoft vendeva windows mentre l’Ugl regala Android
安卓和卡帕在阿提沃的抄本里写下了自己的名字
可以看出,每个结果都有id属性。只是它没有在节点中使用
我将uuid类型用于solr自动生成的id
这是我的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中):
真的
身份证件
假的
*
solr.processor.Lookup3签名
如果没有项中name属性的id值,我将无法进行进一步的处理,例如替换结果中的文本。
我希望这些信息足够了。请告诉我其他情况。这两天来我一直在想办法弄清真相
干杯。在另一次让它工作的绝望尝试中,我用原来的solrconfig.xml文件替换了我的solrconfig.xml文件,只放回了我所做的特定更改,问题就解决了。我确信这个问题可以追溯到几个具体的方面,因为在我开始练习的前几天,我肯定在那里添加了一些东西,这对我来说是一个大问题。我和你有同样的问题。唯一不同的是,我启动了一个新的solr实例。所以我没有原创的东西可以回去 我通过将id类型替换为“string”并在数据中添加自定义唯一键来修复它。我还向配置中添加了唯一的键元素
<uniqueKey>id</uniqueKey>
<field name="id" type="string" indexed="true" stored="true" required="true" />
id
这解决了我的问题。不知何故,它不适用于类型“uuid”
希望这能帮助任何遇到同样问题的人
注意:uniqueKey字段应该在“字段”节点之外我正在使用solr 3.6,仅供参考。
<uniqueKey>id</uniqueKey>
<field name="id" type="string" indexed="true" stored="true" required="true" />