elasticsearch 多条件搜索语句怎么写

select*fromtabwherename="john"andsex="男"age>10andage<30类似上面的语句,我想知道大于小于与and共存的elastic... select * from tab where name="john" and sex ="男" age >10 and age <30

类似上面的语句,我想知道 大于小于 与 and共存的 elasticsearch数组该怎么拼写
展开
 我来答
匿名用户
2017-09-19
展开全部
Elasticsearch是一个高伸缩、高可用、基于ApacheLucene的开源搜索与分析引擎。通过它你可以很方便地对数据进行深入挖掘,可以随时放大与缩小搜索与分析的区间,并且这一切都是实时的。为了提供了一个优秀的用户体验,我们对Elasticsearch投入了很大的精力。Elasticsearch本身的各种选项已有了良好的默认值,使用户能够更方便地上手。但我们也为用户提供了全方面的选项,在必要的情况下,可以对该引擎的几乎每个方面进行定制。举例来说,当你使用它搜索数据的时候,可以使用传统的查询(‘查找满足条件Y的所有项X’)进行过滤(在Elasticsearch术语中称为逗视图地),高亮显示搜索片段,为每条结果提供相应的上下文。也可以使用地理位置(‘查找在Z里之内的所有项’),或是为用户提供搜索关键字建议,并且提供了强大的聚合(即Elasticsearch中的逗分面地(facet))能力,例如时间分布图或者统计图。Elasticsearch既可以搜索、也可以保存数据。它提供了一种半结构化、不依赖schema并且基于JSON的模型,你可以直接传入原始的JSON文档,Elasticsearch会自动地检测出你的数据类型,并对文档进行索引。你也可以对schema映射进行定制,以实现你的目的,例如对单独的字段或文档进行boost映射,或者是定制全文搜索的分析方式等等。你既可以在自己的膝上电脑中启用一个小型实例,也可以在云端启用几十乃至几百个实例,只需要一些极小的改变而已。Elasticsearch会自动进行横向扩展,它能够随着你的应用一起成长。Elasticsearch运行在JVM之上,它使用JSON格式,通过RESTfulHTTP接口的方式访问,因此任何一种客户端或语言都能够与其交互。目前已经有了大量的客户端和框架的整合方案,包括对多种编程语言的支持,通过这些原生的API与专门的DSL将不一致的地方最小化,并实现性能最大化。Elasticsearch非常适合于大数据的场合,它的高伸缩性与分布式架构的本质使得对大量信息的搜索与存储都可以在近乎实时的情况下完成。通过Elasticsearch-Hadoop这个项目,我们使Hadoop使用者(这里也包括Hive、Pig和Cascading)能够用一个成熟的搜索引擎来增强他们的工作流。我们还为他们提供了一种丰富的语言,能够让他们更好地表达意图,因而更准确地获得想要的结果,并且速度也大大提高了。
追问
RESTful API 的json
怎么写这个语句呢
折柳成萌
高粉答主

2017-09-19 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:5983万
展开全部
以下代码是动态构建查询语句:

[java] view plain copy private SearchRequestBuilder dynamicSearch(String index, String type, String startTime, String endTime, String status, String title, String city, String resOfficer, int pageIndex, int pageCapacity) { SearchRequestBuilder searchRequestBuilder = client.prepareSearch(index) .setTypes(type) .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) .setPostFilter(FilterBuilders.rangeFilter("start_time").from(startTime).to(endTime)) .setFrom(pageIndex).setSize(pageCapacity) .setExplain(true); BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery(); queryBuilder.mustNot(QueryBuilders.matchQuery("site", "www.huodongxing.com")); //活动名称 if (!StringUtils.isEmpty(title)) { queryBuilder.must(QueryBuilders.queryString(title).field("title")); } //城市 if (!StringUtils.isEmpty(city)) { queryBuilder.must(termQuery("city", city)); } //业务状态 if (!StringUtils.isEmpty(status)) { if (status.equals(BusinessStatus.REJECTED.getCode()) || status.equals(BusinessStatus.COOPERATED.getCode())) { queryBuilder.must(termQuery("bus_status", status)); } } //负责人 if (!StringUtils.isEmpty(resOfficer)) { queryBuilder.must(queryString(resOfficer).field("resOfficer")); } if (StringUtils.isEmpty(title) && StringUtils.isEmpty(city) && StringUtils.isEmpty(status) && StringUtils.isEmpty(resOfficer)) { searchRequestBuilder.setQuery(matchAllQuery()); } searchRequestBuilder.setQuery(queryBuilder); return searchRequestBuilder; }
追问
请问你懂
基于JSON 的RESTful API写法吗 我没有学过java
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没意思988
2018-04-10
知道答主
回答量:7
采纳率:0%
帮助的人:6527
展开全部
{
"query": {
"bool": {
"filter": {
"bool": {
"must": [{
"term": {
"name": "john"
}
},
{
"term": {
"sex": "男"
}
},
{
"rang": {
"age": {
"gt": 10,
"lt": 30
}
}
}
]
}
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ef48005
2020-03-14
知道答主
回答量:1
采纳率:0%
帮助的人:626
展开全部
。。。我看下面的回答。。。现在会写了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式