全文查询
match query
term查询基于词项,当搜索java编程时,经过分词会变成 java 编程 ,不存在java编程,因此返回结果为空。换成match query可以得到结果。
match_phrase query
首先会把query内容分词,分词器可以自定义,同时文档还要满足以下两个条件才会被搜索到:1,分词后所有词项都要出现在该字段中;2,字段中的词项顺序要一致。
match_phrase_prefix query
与match_phrase类似,但是支持最后一个term前缀匹配
multi_match query
是match的升级,用于搜索多个字段。查询语句为“java编程”,查询域为title和description
支持对要搜索的字段的名称使用通配符。
可以用指数符指定搜索字段的权重。
common_term query
是一种在不牺牲性能的情况下,替代停用词提高搜索准确率和召回率的方案。
query_string query
允许在一个查询语句中使用多个特殊条件关键字(如:AND|OR|NOT)对多个字段进行查询。
simple_query_string
关键段代码后续贴出,请各位不吝赐教!