你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
ydzll
赞同来自:
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
EricTowns
Map<String, HighlightField> highlightFields = hit.getHighlightFields(); //替换字段title高亮 HighlightField titleField = highlightFields.get("title"); Map<String, Object> source = hit.getSource(); if(titleField!=null){ Text[] fragments = titleField.fragments(); String name = ""; for (Text text : fragments) { name+=text; } //替换掉source的内容 source.put("title", name); } //替换字段describe高亮 HighlightField describeField = highlightFields.get("describe"); if(describeField!=null){ Text[] fragments = describeField.fragments(); String describe = ""; for (Text text : fragments) { describe+=text; } source.put("describe", describe); } //后续操作 list.add(source);
chenygs
要回复问题请先登录或注册
5 个回复
ydzll
赞同来自:
就比如这种情况,不能将高亮标签直接插入到_source里吗?提到外面单独的对象,感觉没法用啊,取哪个都不对,我真正想要的数据实际上是["bad <em>apple</em>", "bad banana"],你们是怎么处理这个问题的啊?是不是es的高亮功能根本不适合项目中去用啊
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
https://github.com/elastic/ela ... /7416
网友的实现替代方案:
[ "1", "2", "3" ] [ "Alice", "John Doe", "Bob"
]instead of using objects with ID
[{id:"1", name: "Alice"}, {id:"2", name: "John Doe"}, {id: "3", name:"Bob"} ]
EricTowns
赞同来自:
这样的做法显得太不优雅,而且代码量会提高。另外在使用Jest时(transportClient还没有试过),我发现一个问题,
例如,源文档中字段title为“为什么会这样呢?你知道么?。。。”,查询字段为“你知道么”时,高亮替换会导致最后只显示“你知道么?。。。”,会丢失问号前面的部分,加大framentSize属性也不起作用,不知道老哥有没有什么好的解决办法?
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
chenygs
赞同来自: