solr的highlight只会返回他高亮了的字段,并且这个字段假如是多值的话,那么只会反回这个多值字段中被高亮的值。
当本人需要高亮时:
1.对于单值的字段来说,没有问题,直接通过highlight结果集中的文档id、field名 和 查询结果集的 if、field名对比,用highlight的结果替换相应的查询结果就是。
2.对于多值的字段来说,就会有问题:highlight结果集中多值字段只有高亮的那些值,而并不是这个字段的全部值,且是一个Collection,并不是map有个key。这样本人就无法用highlight的结果来替换本人的查询结果。
查询语句:

查询结果集:

高亮结果集:

问一下这个问题怎么样结果?
当本人需要高亮时:
1.对于单值的字段来说,没有问题,直接通过highlight结果集中的文档id、field名 和 查询结果集的 if、field名对比,用highlight的结果替换相应的查询结果就是。
2.对于多值的字段来说,就会有问题:highlight结果集中多值字段只有高亮的那些值,而并不是这个字段的全部值,且是一个Collection,并不是map有个key。这样本人就无法用highlight的结果来替换本人的查询结果。
查询语句:

查询结果集:

高亮结果集:

问一下这个问题怎么样结果?
解决方案
30
你是要获取高亮集合里面map的value 替换 查询结果集的值么
20
学习中,

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