我正在测试match_phrase_prefix和max扩展属性在Elasticsearch中如何工作。请参考最大扩展文档:
然后,它查看排序后的术语词典以查找前50个术语 以f开头的词,并将这些词添加到词组查询中。
所以我在测试索引中添加了3个文档:
然后,当我尝试将max_expansion设置为2进行查询时,我得到了所有文档,而不是2。
public static bool isLong(string s)
{
bool ret = true;
int i;
s = s.Trim();
if (s[0] == '-')
{
i = 1;
}
else
{
i = 0;
}
for (; (i < s.Length); i = i + 1)
{
ret = ret && ((s[i] >= '0') && (s[i] <= '9'));
}
return (ret);
}
结果:
GET /_search
{
"query": {
"match_phrase_prefix" : {
"message" : {
"query" : "trying out E",
"max_expansions" : 2
}
}
}
}