文档中的内容是{"name":"李世民"}
分别进行以下query_string查询:
李*------命中
李?------不能命中
李世*----不能命中
李世? ----不能命中
由于没有设置中文分词,所以采用默认的分词器,并且query_string默认没有开启analyze_wildcard选项。
无论输入中带有“*”还是“?”,在标准分词器的情况下,都会忽略。因此上边的输入被分解为
“李”“世”。照这样分析,任何一种输入都应该可以命中才合理。
为什么后三种情况为什么不能命中结果呢?
分别进行以下query_string查询:
李*------命中
李?------不能命中
李世*----不能命中
李世? ----不能命中
由于没有设置中文分词,所以采用默认的分词器,并且query_string默认没有开启analyze_wildcard选项。
无论输入中带有“*”还是“?”,在标准分词器的情况下,都会忽略。因此上边的输入被分解为
“李”“世”。照这样分析,任何一种输入都应该可以命中才合理。
为什么后三种情况为什么不能命中结果呢?
2 个回复
jingkyks - 水果铅笔2B橡皮
赞同来自:
关键点在于---加入了通配符就变成了一个词。
shiyuan
赞同来自:
*匹配任意字符(包括空字符)
?匹配任意单字符