parsing - Elasticsearch 索引 html 文件内容的正确策略

标签 parsing elasticsearch

Elasticsearch 专家您好!

我有一个用例,但我不确定最好的方法是什么。

我有一个需要索引的 html 文件。这部分很简单,因为我可以配置自定义分析器并创建索引。

虽然我有一个特殊的需求,但我需要在索引到特殊字段时提取一些数据。

这是从 html 中摘录的内容,其中包含数千个这样的行。

<td>....</td>
<td>...
<p>Great item to truck</p></td>...
<a href="javascript:selectItem('1.a.b.c.1.d.f.11')">1.a.b.c.1.d.f.11</a> ...

大量垃圾,甚至内联 CSS。

我的局限性:

  • 我无法更改 html

我的挑战:

  • 对 html 文件的文本进行索引,同时删除 html 标签、CSS 和噪音
  • 我需要在链接中的文本上创建自动补全 例如1.a.b.c.1.d.f.11

因此,当用户开始输入 1.a.b.c.1.d.f.11 时,我必须能够自动完成它。

我是否应该创建一个分析器来删除除标签内容之外的所有内容。如果是这样我该怎么做?

如果您有任何评论或提示,我将不胜感激,您认为使用elasticsearch的正确方法是什么

最佳答案

解决方案 1:

我建议您开发一个小型应用程序来解析 html 文件内容并仅索引您感兴趣的数据。换句话说,删除所有 html 标签和不必要的数据

解决方案2

您可以使用字符过滤器[html_strip]来去除所有html标签

GET /_analyze?tokenizer=keyword&token_filters=lowercase&char_filters=html_strip&text=<td>....</td><td>...<p>Great item to truck</p></td>...<a href="javascript:selectItem('1.a.b.c.1.d.f.11')">1.a.b.c.1.d.f.11</a> ...

关于parsing - Elasticsearch 索引 html 文件内容的正确策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26126314/

相关文章:

c++ - 将字符串解析为整数数组

vb.net - 解析 Microsoft Office 和 PDF 文档的最佳方法是什么?

spring-boot - Spring Data Elasticsearch 6.8.5如何配置HTTP端口

regex - ElasticSearch可视化按字段 “message”中的某些关键字分组

elasticsearch - 自定义模式

android - 不从资源解析布局并在运行时设置它

java - CSV 语法的 ANTLR4 监听器会导致大文件出现 OutOfMemoryError