我认为您可以通过将
match查询设置为来实现所需的功能
type:"phrase_prefix"。您的大多数(但不是全部)示例都可以使用。
使用Ngrams,您可以更好地控制该过程,但是它们的召回率很高(它们通常会返回想要的更多数据),因此您必须与之抗争。这是您在多个查询字词(“ Sans
so”)中观察到的“奇怪行为”,因为它们可以有效地作为
Sans OR so查询执行。
尝试使用
default_operator:"AND"选项(参见轮胎的query_string_test.rb),或者更确切地说,
match查询(见轮胎的match_query_test.rb)与
operator:"AND"选项。
有一些有关自动完成,轮胎和Ngrams的文章:
- http://dev.af83.com/2012/01/19/autocomplete-with-tire.html
- http://masonoise.wordpress.com/2012/08/11/elasticsearch-with-rails-and-tire/
- http://euphonious-intuition.com/2012/08/more-complicated-mapping-in-elasticsearch/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)