elasticsearch - 带连字符的 elasticsearch 查询字符串
问题描述
弹性搜索 5.6
我将我的字段定义为文本字段,并带有空格分析器,以避免在连字符上拆分。
我想使用查询字符串查询来查询它,例如:
{
"query": {
"query_string": {
"query": "CODE-13-006",
"default_operator": "AND",
"analyzer": "whitespace"
}
}
}
因此,如果我没有指定要搜索的字段,(据我所知)它应该查询“*”字段。即使像上面这样的查询没有返回任何内容,但如果我要求特定字段,它会找到匹配项。
有什么提示吗?
解决方案
好的,万一有人有类似的疑问......
我的问题是,即使我正在查询 _all 字段(连接所有其他字段的值),我忘记了默认情况下它使用标准分析器(在连字符上分隔标记)。因此,即使我的字段使用关键字分析器,在我的 _all 查询中我也找不到它 - 仅仅是因为它被标准分析器拆分了。
愚蠢的错误,但也许将来会帮助某人;)
推荐阅读
- python - Pytest Django 函数模拟 APITestCase
- bioinformatics - 将杂原子添加到 pdb 文件
- python - 如何创建根据组大小排序的多索引数据框?
- jquery - jquery对象的每次迭代
- f# - 将嵌套匹配表达式转换为函数
- python - 如何在 Python 2.7 中阻止键盘输入?
- c++ - 用不同的列读取每一行的全部内容
- mysql - 如何修复错误代码 1241:操作数应在 mysql 查询中包含 1 列?
- typescript - 如何使用 typescript 从 azure 函数中的 cosmosdb 进行查询
- javascript - 从 MDX 访问 React 组件状态