solr对于多值的field高亮问题

J2EE 码拜 9年前 (2016-03-13) 1703次浏览
solrhighlight只会返回他高亮了的字段,并且这个字段假如是多值的话,那么只会反回这个多值字段中被高亮的值。
当本人需要高亮时:
1.对于单值的字段来说,没有问题,直接通过highlight结果集中的文档id、field名 和 查询结果集的 if、field名对比,用highlight的结果替换相应的查询结果就是。
2.对于多值的字段来说,就会有问题:highlight结果集中多值字段只有高亮的那些值,而并不是这个字段的全部值,且是一个Collection,并不是map有个key。这样本人就无法用highlight的结果来替换本人的查询结果。
查询语句:
solr对于多值的field高亮问题
查询结果集:
solr对于多值的field高亮问题
高亮结果集:
solr对于多值的field高亮问题
问一下这个问题怎么样结果?
解决方案

30

你是要获取高亮集合里面map的value 替换 查询结果集的值么

20

学习中,solr对于多值的field高亮问题

30

引用:

而本人无法确定高亮的是这个多值字段的其中哪一个值,就无法替换

是只是替换那个名称一样的? 还是替换全部? 还有替换什么样?是把map直接当做普通的值么?
通过这个值的名称匹配,能做到么,现在能获取到高亮的map么,能的话遍历高亮map的value, 遍历普通字段集合,假如普通字段集合的值跟高亮map的value相等,然后做替换


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明solr对于多值的field高亮问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)