总结一下es中的match、term、text、keyword、bool等关键字。比如我想搜索一辆“红色奥迪车”:
1、match和term
match:在匹配时会对所查找的关键词进行分词,然后按分词匹配查找,用于模糊查询。结果会将包含“红色”或“奥迪”的车都找出来。
term:对关键词进行查找,用于精确查找。只有名称中有“红色奥迪车”的数据才会被搜索出来。
2、text和keyword
text支持模糊查询,且会进行分词操作。
keyword不支持模糊查询,且不支持分词操作。文章来源:https://www.toymoban.com/news/detail-501420.html
3、bool查询
bool查询中
1、must:must对应的是多个并列的查询条件,只有都符合的数据才会返回。此时的“红色”和“奥迪”是且的关系。
2、must_not:和must整个相反。只要包含“红色”或“奥迪”的数据都会被过滤掉,不返回。
3、should :只要符合其中一个条件就返回。
4、filter:条件过滤查询,过滤条件的范围用range表示gt表示大于、lt表示小于、gte表示大于等于、lte表示小于等于,比如我要查询价格为5万到10万的车时会用到这个。文章来源地址https://www.toymoban.com/news/detail-501420.html
到了这里,关于es中的match、term、text、keyword、bool的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!