我的文档product_code包含字符串值的字段,pc00XXa其中where X由一些数字1..9替换.我期待这个短语前缀查询的9个文档的结果:
{
"query": {
"match": {
"_all": {
"query": "pc001",
"type": "phrase_prefix"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
......但结果是空的.使用product_code而不是_all,我得到预期的9个文件.
使用前缀查询而不是短语前缀查询似乎与两个_all和product_code字段一起按预期工作.以下查询给了我9个文件:
{
"query": {
"prefix": {
"_all": {
"value": "pc001"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Elasticsearch文档说"match_phrase_prefix与match_phrase相同,但它允许在文本的最后一个术语上进行前缀匹配".在我的情况下,我在查询中只有一个术语,所以我希望它作为前缀.
当查询包含单个术语时,短语前缀查询与前缀查询的确有何不同?为什么使用_all比明确指定字段名称更少的结果?
| 归档时间: |
|
| 查看次数: |
1164 次 |
| 最近记录: |