ElasticSearch(十一) Term level Queries JAVA API

一、 精确查询 不分词

termQuery(
        "name",   "kimchy");

二、 相当于 IN 查询

termsQuery("tags",  "blue", "pill");

三、 范围查询

rangeQuery("price")
.from(5)
.to(10)
.includeLower(true)
.includeUpper(false);
rangeQuery("age")
.gte("10")
.lt("20");

四、 类似于SQL语句中的IS_NULL

exists 和 missing 过滤可以用于查找文档中是否包含指定字段或没有某个字段,类似于SQL语句中的IS_NULL条件.

existsQuery("name");

{ "exists": { "field": "title" } }

这两个过滤只是针对已经查出一批数据来,但是想区分出某个字段是否存在的时候使用。

五、 前缀查询

prefixQuery(
        "brand",  "heine");

六、 通配符查询

wildcardQuery(
        "user", "k?mch*");

七、 正则查询

regexpQuery(
        "name.first", "s.*y");

八、 近似查询

九、 类型查询

typeQuery("my_type");

十、 指定ID查询

idsQuery("my_type", "type2").addIds("1", "4", "100");

idsQuery().addIds("1", "4", "100");
一、 精确查询 不分词 termQuery( "name", "kimchy"); 二、 相当于 IN 查询 termsQuery("tags", "blue", "pill"); 三、 范围查询 rangeQuery("price") .from(5) .to(10) .includeLower(true) .includeUpper(false); rangeQuery("age") .gte("10") .lt("20"); 四、 类似于SQL语句中的IS_NULL exists 和 missing 过滤可以用于查找文档中是否包含指定字段或没有某个字段,类似于SQL语句中的IS_NULL条件. existsQuery("name"); { "exists": { "field": "title" } } 这两个过滤只是针对已经查出一批数据来,但是想区分出某个字段是否存在的时候使用。 五、 前缀查询 prefixQuery( "brand", "heine"); 六、 通配符查询 wildcardQuery( "user", "k?mch*"); 七、 正则查询 regexpQuery( "name.first", "s.*y"); 八、 近似查询 九、 类型查询 typeQuery("my_type"); 十、 指定ID查询 idsQuery("my_type", "type2").addIds("1", "4", "100"); idsQuery().addIds("1", "4", "100");
经验分享 程序员 微信小程序 职场和发展