我在使用match_phrase_prefix进行查询时遇到了问题。例如,假设我有一个display_name =“stack overflow”的记录。如果我使用“stack”或“stack over”进行查询,它会找到该记录,但如果我尝试使用“stack o”,它就不会找到。我注意到以前有人问过这个问题,问题是与前缀有关,但我似乎没有找到正确的答案。有什么想法吗?
我在使用match_phrase_prefix进行查询时遇到了问题。例如,假设我有一个display_name =“stack overflow”的记录。如果我使用“stack”或“stack over”进行查询,它会找到该记录,但如果我尝试使用“stack o”,它就不会找到。我注意到以前有人问过这个问题,问题是与前缀有关,但我似乎没有找到正确的答案。有什么想法吗?
2条答案
按热度按时间j2qf4p5b1#
其返回的单据为
stack o
,可以按照下面的例子来查看它。索引Map
索引文档
搜索查询
并返回上面索引的文档
您甚至可以查看官方ES文档示例,它返回
quick brown f
的文档。nc1teljy2#
您应该尝试增加
max_expansions
的值(预设值为50,here)注意也不要设置得太高,否则会有减慢查询速度的风险!
所以你可以试试这个: