ES常用接口
1、QueryBuilders
构建查询的接口。
方法
1.matchAllQuery
2.matchQuery
3.fuzzyQuery
是类似于mysql的like类似的做法。
但是这个fuzziness(Fuzziness.ONE) 是可以调整的。
// 查询名称中包含“张三”的数据,或者比“张三”多一个字符的数据,这是通过Fuzziness.ONE来控制的,比如“张三1”是可以出现的,但是“张三12”是无法出现的,这是因为他比张三多了两个字符;除了“Fuzziness.ONE”之外,还可以是“Fuzziness.TWO”等
builder.query(QueryBuilders.fuzzyQuery("name.keyword", "张三").fuzziness(Fuzziness.ONE));
2、SearchHit
- source --元数据
- docId --文档id
- score --得分
- id – 文档的id
- type – 文档的type
- NestedIdentity
- version – 版本
- seqNo --序列号
- primaryTerm –
- documentFields --文档字段
- metaFields --元数据字段
- highlightFields --高亮字段
- sortValues --排序值
- matchedQueries
- explanation
- shard
- index
- clusterAlias
- sourceAsMap --Map<String, Object>此类型的。 基本可以返回元数据,变成map的类型,然后可以进行转换。
- innerHits