elasticsearch - match_phrase 对连接字段的查询——避免错误匹配
问题描述
我索引了一个相当复杂的文档,它没有在模板中定义所有字段(它们是自动创建的)。我还填充了一个字段,该字段是连接文档中由空格分隔的所有字符串字段的结果(在加载之前),除了一些特定字段。该字段用作“整个文档”搜索字段,并使用子字段以几种不同的方式进行索引。
在大多数情况下,它运行良好,除了我注意到我有时会在短语查询中得到“错误”匹配,其中一个短语匹配一个字段的结尾和另一个字段的开头,因为它们被连接起来是一种使这成为可能的方式。
为了防止这种情况发生,我正在考虑用一个虚拟词(如 MYSEP)将连接中的所有字段分开,然后将该词设为索引中的停用词,但不在查询中。那时永远不会发生匹配。然而,必须维护不同的停用词列表和不同的索引/查询分析器是一件痛苦的事情,所以我想知道是否有更简单的方法来实现相同的目标。
有没有办法告诉 ElasticSearch 短语匹配不应该跨越由字符串中的某个单词或字符定义的某个边界?
解决方案
推荐阅读
- gcc - gcc Auto-Vectorization - 了解输出消息
- java - 打开以前下载的数据库
- r - 如何在plotly中跨子图对齐分组箱线图
- mysql - 从 mysql 表中的坐标数据中查找 Equator
- node.js - 用于 TypeScript Mocha 测试的 Vscode 断点
- javascript - .each 函数不在最后一个元素上运行
- c++ - 如何使用cpp编写对元素列表进行降序排序的选择排序算法?
- javascript - 用 TypeScript 编写时如何查看 Deno 转译的 javascript?
- zeromq - ZMQ 多发布者和单订阅者——观察到数据丢失
- html - 如何设置画布的响应宽度和高度?