栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

elasticsearch搜索条件

elasticsearch搜索条件

elasticsearch搜索条件 1.组合条件

filter:过滤条件must:andshould: ORmustNot:not 2.查询QueryBuilders

2.1 完全匹配(termQuery、termsQuery)

	QueryBuilders.termQuery(key, value)   //一个key匹配一个值,完全匹配
    QueryBuilders.termsQuery(key, value1, value2..)   //一个key匹配多个值

2.2 单字段匹配(matchQuery)

	QueryBuilders.matchQuery(key, value)

2.3 多字段匹配(multiMatchQuery)

	QueryBuilders.multiMatchQuery(value, key1, key2, key3..)  

2.4 字段分词匹配(matchPhraseQuery 必须在分词中都包含,而且顺序相同,默认必须都是连续的)

	QueryBuilders.matchPhraseQuery(key, value)

2.5 模糊查询(wildcardQuery) ?匹配单个字符,*匹配多个字符

	QueryBuilders.wildcardQuery(key, "*手机?")

2.6 范围查询(rangeQuery) from:相当于闭区间,to:开区间; gt:相当于开区间(>),gte:相当于闭区间 (>=),lt:开区间(<),lte:闭区间 (<=)

    QueryBuilders.rangeQuery(key).from(value1).to(vaule2)
    QueryBuilders.rangeQuery(key).gte(value)

2.7 子查询 (nestedQuery)

	QueryBuilders.nestedQuery("key1",
                           QueryBuilders.matchPhraseQuery("key1.key2", value),
                           ScoreMode.Max))
3.构建查询条件
    BoolQueryBuilder builder = QueryBuilders.boolQuery();
    builder.filter(QueryBuilders.termQuery("state", 1))
           .must(QueryBuilders.multiMatchQuery("浮光", "name", "nick_name"))
           .should(QueryBuilders.matchQuery("sex", 1))
           .mustNot(QueryBuilders.rangeQuery("age").gte(25))
   
   //专辑名,简介或者专辑标签中查询,标签是内部对象数组格式 labels:[{"name":""},{"name":""}]
    BoolQueryBuilder albumBuilder = QueryBuilders.boolQuery();
	BoolQueryBuilder albumQuery = QueryBuilders.boolQuery();
    albumQuery.should(QueryBuilders.multiMatchQuery("专辑1", "name", "introduce")
    							   .analyzer("ik_max_word")
                				   .operator(Operator.OR);)
              .should(QueryBuilders.nestedQuery("labels",
                            	QueryBuilders.matchPhraseQuery("labels.name", key),
                            	ScoreMode.Max));
    albumBuilder.must(albumQuery);
3.1 ScoreMode枚举

Avg:父命中的分数是所有子分数的平均值Max:父命中的分数是所有子分数的最大值Min:父命中的分数是所有子分数的最小值None:不得分Total:父命中的分数是所有子分数的总和

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/734977.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号