您的位置:首页 > 编程语言 > Java开发

Elasticsearch java API (21)查询 DSL 项级别查询

2016-06-30 15:00 801 查看


项级别查询编辑

而全文查询将分析查询字符串在执行之前, term-level查询操作存储在反向索引的确切条款。

这些查询通常是用于结构化数据,如数字、日期和枚举,而不是完整的文本字段。或者,他们允许你工艺低级查询,上述分析过程。

这组查询:

term
 查询找到的文件包含指定的字段中指定的。
terms
 查询找到文件,包含任何的确切条款中指定的字段指定。
range
 查询找到文件,包含指定的字段值(日期、数字或字符串)在指定的范围内。
exists
 查询找到文件,指定的字段包含任何非空值。
missing
 查询发现文件是缺失或只包含指定的字段
 null
值。
prefix
 查询找到文件,包含条款指定的字段被指定的前缀。
wildcard
 查询找到文件,指定的字段包含与指定的模式匹配,模式支持单个字符的通配符(
?
)和多字符通配符(
*
)
regexp
 查询找到文件,指定的字段包含指定的正则表达式匹配。
fuzzy
 查询找到文件,指定的字段包含条款模糊不清地类似于指定的术语。模糊性是测量Levenshtein编辑距离1或2。
type
 查询找到指定的文件类型。
ids
 查询找到文件指定类型和id。



词查询编辑

看到词查询
<span style="font-weight: normal;">QueryBuilder qb = termQuery(
"name", //1
"kimchy" //2
);</span>





文本


条件查询编辑

看到条件查询
<span style="font-weight: normal;">QueryBuilder qb = termsQuery("tags",  //1
"blue", "pill");       //2             </span>








范围查询编辑

看到范围查询
QueryBuilder qb = rangeQuery("price")   //1
.from(5)           //2
.to(10)                //3
.includeLower(true)   //4
.includeUpper(false);  //5












包括意味着更低的价值
 from
 gt
 false
 gte
 true



包括上意味着价值
 to
 lt
 false
 lte
 true

// A simplified form using gte, gt, lt or lte
QueryBuilder qb = rangeQuery("age")  //1
.gte("10")                    //2
.lt("20");                  //3






 from
10、
 includeLower
 true



 to
20,
 includeUpper
 false


存在查询编辑

看到存在查询.
QueryBuilder qb = existsQuery("name");     //1





失踪的查询编辑




在2.2.0弃用。

使用
 exists
查询在一个
 must_not
条款。

看到失踪的查询
QueryBuilder qb = missingQuery("user");   //1
.existence(true)                 //2
.nullValue(true);             //3






寻找失踪字段不存在


寻找失踪与显式字段
 null
价值


前缀查询编辑

看到前缀查询
QueryBuilder qb = prefixQuery(
"brand",    //1
"heine"     //2
);






前缀


通配符查询编辑

看到通配符查询
QueryBuilder qb = wildcardQuery("user", "k?mc*");



正则表达式查询编辑

看到正则表达式查询
QueryBuilder qb = regexpQuery(
"name.first",     //1
"s.*y");        //2






正则表达式


模糊查询编辑

看到模糊查询
QueryBuilder qb = fuzzyQuery(
"name",     //1
"kimzhy"    //2
);






文本


类型查询编辑

看到类型查询
QueryBuilder qb = typeQuery("my_type"); //1



类型


id查询编辑

看到id查询
QueryBuilder qb = idsQuery("my_type", "type2")
.addIds("1", "4", "100");

QueryBuilder qb = idsQuery() //1
.addIds("1", "4", "100");



类型是可选的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息