【发布时间】:2018-03-23 14:22:57
【问题描述】:
我正在我的索引上运行以下搜索查询
{
"_source": "false",
"query": {
"bool": {
"must": [
{
"multi_match": {
"fields": ["email","name", "company", "phone"],
"query": "tes",
"type" : "phrase_prefix"
}
}
]
}
},
"highlight": {
"fields": {"name": {}, "company" : {}, "email" : {}, "phone" : {}}
}
}
我有一些带有字段值的示例数据
name: test paddy
name : test user
name : test logger
name : test
当我运行上述查询时,我没有得到任何结果,但是当我将其更改为 "query": "test" 时,我开始看到 1 个结果“测试”。我期待在这两种情况下都能看到我拥有的所有上述名称。我在这里遗漏了什么吗?
更新 我还注意到这适用于文本字段,但在关键字、长字段等方面失败了另外,当我尝试时
{ "query": {
"prefix" : { "phone" : 99 }
}
}
使用数字字段和关键字字段。
是不是 multi_match 和 prefix 不适用于关键字和数字字段?
【问题讨论】:
-
你用的是哪个版本,我在2.4.4测试过,效果很好。
-
我使用的是 5.5.2 版本。电话字段是号码,所有其他字段都是关键字。这有什么影响吗?
-
我还注意到这适用于文本字段,但无法使用关键字、长字段等。
标签: elasticsearch