我的索引数据是
{
"full_name":"Edwin Powell Hubble",
"job": "IT"
}
{
"full_name":"John Edwin",
"job": "Accountant"
}
{
"first_name":"Eric Petterson",
"job": "Accountant"
}我不确定是否有人能帮助我构建一个查询,以获取以full_name作为Edwin的数据。它在term查询中尝试过似乎并不真正有效。
发布于 2021-05-21 12:07:39
由于full_name可以是任意长度的,应该在索引时进行分析,所以我相信您已经将属性映射为text类型。
出于同样的原因,我还认为,在搜索“Edwin”时,您还需要返回“Edwin Powell Hubble”和“John Edwin”的结果,在搜索“Edwin Pow”时返回“Edwin Powell Hubble”
前缀应该帮助您处理这些用例。
GET /_search
{
"query": {
"match_phrase_prefix": {
"full_name": "Edwin"
}
}
}发布于 2021-05-21 10:11:27
您可以使用匹配查询获取以full_name作为Edwin的数据。
{
"query": {
"match": {
"full_name": "edwin"
}
}
}Edwin 工作在精确的文本匹配上,因此不会为获取任何文档,因为您的示例索引数据中没有匹配 full_name as Edwin的数据。
https://stackoverflow.com/questions/67634829
复制相似问题