Rails 4:在 ElasticSearch 索引上使用 Wysiwyg 编辑器清理文本

Rails 4: Clean Texts from Wysiwyg editors on ElasticSearch index

我有一个名为 offers 的索引,我正在尝试使用 Elastic 搜索执行全文搜索,我使用的是 gem 轮胎。

我的模型有一个描述字段,但是这个字段的输入是所见即所得的编辑器,所以当我检查 ElasticSearch 索引上的索引数据时,description 字段包含所有 <p> 的新行 \n 和许多其他代码字符如下:

<h2>Qu&eacute; hay en la caja:</h2>\r\n\r\n<ul>\r\n\t<li>Tablet KRONO 7021</li>\r\n\t<li>Cable USB</li>\r\n\t<li>

我的问题是:您认为在ElasticSearch中是否需要对文本进行解码才能不影响全文搜索?

你绝对应该解码你的文字。两个选项:

将文本保存为两个不同的字段 - 一个带有 WYSIWYG 标签,另一个清理并搜索该列 - 如果你有很多条目就会有问题。

使用 Elastic 的 "char_filter": [ "html_strip" ] 选项。您将不得不手动尝试一下,看看它在您的情况下效果如何。