Elasticsearch 索引 html 文档有什么比较好的实践方案

2020-08-17 10:52:53 +08:00
 NULL2020
索引的时候,可以自定义分词,添加 html_strip 过滤掉 html 标签不分词,但文档的 _source 里面还是会有 html 标签,因为需要做高亮,命中的高亮文本是从 _source 里面取的,如果命中的文本前后有 html 标签,则返回的高亮文本里也有可能会有标签,并且标签还有可能被截断,这就导致返回给前端无法准确展示。

数据使用 Logstash pipeline 从 mysql 同步到 es,目前想到的一个方案是在 pipeline 里加了 mutate,把所有 html 标签全部过滤掉,这样返回给前端的就只是纯文本,粗略看了下索引数据,基本满足要求。
如果不在数据写入 es 前过滤掉标签,有没有办法在搜索返回时过滤掉标签?

mutate 只是把 html 标签过滤掉,文档里还有些 url 链接(并可能带 url 参数),好像也会被索引到,有没有办法不索引 url 及后面的 url 参数。


以上,一般搜索引擎里如何实现把 html 标签过滤掉,同时返回的数据能够提供前端友好地展示?
1648 次点击
所在节点    Elasticsearch
1 条回复
NULL2020
2020-08-17 14:13:02 +08:00
emmm,没大佬赐教下吗。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/698866

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX