elasticsearch5.4.0 查询记录
来源:互联网 发布:r语言和c语言哪个难 编辑:程序博客网 时间:2024/06/05 10:03
题记 草稿记录法
通过TransportClient得到 client 客户端
SearchRequestBuilder searchrequestbuilder = clinet.prepareSearch(indexName);
构造查询query
主要是通过QueryBuilders 类进行获取query
eg:
1,简单查询
MatchQueryBuilder matchquery = QueryBuilders.matchQuery("fieldName","输入值"); 获取关键字查询单个字段的query
//MatchQueryBuilder query1 = QueryBuilders.matchQuery("brandCode", "1266"); 查询brandCode 值为1266的query
2,复杂查询:
BoolQueryBuilder booleanQuery = QueryBuilders.boolQuery();
booleanQuery.should(query1); 或的关系
booleanQuery.must(query2); 与的关系
3,范围查询
RangeQueryBuilder timeQuery = QueryBuilders.rangeQuery("fieldName").gte(“输入值1”).lte("输入值2");
查询fieldName 在 范围 : 输入值1<=fieldName<=输入值2
可对 数字 、价格、时间等有范围的进行使用。
4,设置查询query 与 设置查询分页
searchRequestBuilder .setFrom(size) //从size开始
.setSize(size2) //取size2条数据
.setQuery(booleanQuery) //设置查询query
.get();
5,得到结果
SearchResponse response
SearchHits hits = response.getHits();
hits.getTotalHits();获取到查询总数
hit.getSourceAsMap(); 得到结果
-------------------------------------------------------------es的json语法-------------------------------------------------------------------------------
查询所有文档
GET xiu/selection/_search
{
"query": {
"match_all": {}
}
}
单个字段查询
GET xiu/selection/_search
{
"query": {
"match": {
"brandCode": "IT0051"
}
}
}
多个字段进行查询
GET xiu/selection/_search
{
"query": {
"multi_match": {
"query": "IT0389",
"fields": ["brandCode","brandChName"]
}
}
}
指定返回值 _source=taxFreePrice
GET xiu/selection/_search?_source=taxFreePrice
{
"query": {
"term": {
"brandCode": {
"value": "IT0389"
}
}
}
}
区间范围查询
GET xiu/selection/_search
{
"query": {
"range": {
"createTime": {
"format": "yyyy-MM-dd HH:mm:ss",
"gte": "2017-05-10 00:00:00",
"lte": "2017-09-10 00:00:00"
}
}
}
}
复杂查询
curl -XGET "http://localhost:9200/xiu/selection/_search?_source=brandCode,onsaleState" -H 'Content-Type: application/json' -d'
{
"query": {
"bool": {
"must": [
{
"bool": {
"should": [
{
"match": {
"brandCode": {
"query": "IT0089",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"boost": 1
}
}
},
{
"match": {
"brandCode": {
"query": "IT0927",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"boost": 1
}
}
}
],
"disable_coord": false,
"adjust_pure_negative": true,
"boost": 1
}
},
{
"match": {
"onsaleState": {
"query": 1,
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"boost": 1
}
}
}
]
}
}
}'
- elasticsearch5.4.0 查询记录
- solr项目中添加elasticsearch5.4.0记录
- elasticsearch5.4.0 kibana小问题记录
- elasticsearch5.4.0 java开发记录一
- elasticsearch5.4.0 java开发记录二
- elasticsearch5.4.0 java开发记录三
- elasticsearch5.4.0 java开发记录四
- ElasticSearch5.0使用记录
- elasticsearch5.1.2安装过程记录
- Elasticsearch5中term 查询和match 查询
- 安装elasticsearch5.5遇到的问题记录
- Elasticsearch5.20 基本语法之查询
- elasticsearch5.3.0 索引创建及查询
- Elasticsearch5.3 JAVA Demo 聚合查询
- elasticsearch5.4.0 java开发注意事项
- ElasticSearch5.x踩坑记录(一):windows系统下的ElasticSearch5.6.3及head插件安装
- Elasticsearch5.0.1 + Kibana5.0.1 + IK 5.0.1安装记录
- ElasticSearch5.x踩坑记录(三):linux下rpm安装
- Spark四种运行模式
- C语言运算符优先级问题
- 将两个各自有序的链表,合成一个有序的链表
- 面试常见基本题目总结及php实现(第一部分:排序算法)
- LinearLayout
- elasticsearch5.4.0 查询记录
- git 仓库中文件的可执行权限
- 使用jQuery中的$.ajax进行即时验证
- HDU 1712 ACboy needs your help 分组背包
- Http的定义及其基本概念介绍
- JAVA之构建者模式
- poj3468 a simple problem with integers
- 1-3,1-4:machine Learning and supervised Learning
- 自定义控件动画TextView