当我使用包含空格的字符串创建match_phrase_query时出现问题,但并不总是= /
3个例子:
1 /
{
"query" : {
"match_phrase_prefix" : {
"username" : {
"query":"maury"
}
}
}
}
这个第一个例子有用,给我结果。
2 /
{
"query" : {
"match_phrase_prefix" : {
"username" : {
"query":"maury chelsea"
}
}
}
}
第二个例子,全名也有效。
3 /
{
"query" : {
"match_phrase_prefix" : {
"username" : {
"query":"maury ch"
}
}
}
}
这个例子不起作用,我没有结果返回。我不理解,因为它使用1个单词,2个单词,第2个单词最少3-4个字符,具体取决于我搜索的人的姓名。
您是否已经遇到过此问题?
谢谢你,Ludovic
答案 0 :(得分:0)
这是因为您有很多以ch
开头的字词。尝试添加max_expansions
参数(默认为50)并将其增加到(例如)100以查看是否获得结果。
{
"query" : {
"match_phrase_prefix" : {
"username" : {
"query":"maury ch",
"max_expansions": 100 <--- add this
}
}
}
}
official doc explains您遇到此问题的原因。