Ⅰ elasticsearch 聚合查询后结果排序,使用哪个字段排序
可以通过order指定一个单值的metric聚合,来排版序权。
{
"aggs" : {
"genders" : {
"terms" : {
"field" : "gender",
"order" : { "avg_height" : "desc" }
},
"aggs" : {
"avg_height" : { "avg" : { "field" : "height" } }
}
}
}
}
Ⅱ Elasticsearch如何对搜索结果进行设置
你可以在发送查询请求的时候,通过指定查询字符串取得字段来达到专你的目的,具体属请参照下面这段,title和number就是取得字段。
curl -X GET "localhost:9200/soaringroad/_search?pretty" -H "Content-Type: application/json" -d '
{
"query":{"match_all":{}},
"_source": ["title","number"]
}
'
Ⅲ Elasticsearch 查询怎么返回指定的字段值
源文档过滤可以在查询中控制原始JSON文档中的哪一部分会被返回。我们可以设置包含列或专者排除列,通过模式属匹配来过滤列名的访问路径即可。请记住,这仅仅可以节省从查询节点到调用客户端的带宽,而不能节省cpu时间和磁盘IO,除非使用fields的时候。这是因为当使用源文档过滤时,对于每一个查询结果我们仍然需要解析源文档,根据提供的模式去匹配,以确实返回值中应该包含这一列,或者排除这一列。但是在我们的优化计划中,它仍然是一个非常重要的方式,并且它使用非常容易,我们可以从它开启优化的第一步。
在1.0版本之前,有一个更广为人知的查询方式——partial fields,现在它已经过时了,已经被本文的源文档过滤替代。
Ⅳ 如何在elasticsearch中查看Logstash打到elasticsearch的数据
在output->elasticsearch下增加一个index配置
output {
elasticsearch {
hosts => ["192.168.10.166:9200"]
index => "test_system_log"
}
}
查看的的话,就装kibana好了内,在kibana的settings->indices页面,容在页面里面的输入框输入test_system_log,如果下面的按钮文字不是unable to fetch mapping xxxx,就说明日志收集成功了,点create按钮就创建好了
Ⅳ Elasticsearch到底能玩多大的数据量
使用户能够更方便地上手,例如时间分布图或者统计图。 Elasticsearch既可以搜索、也可以保存数据。它提供了一种半结构化,例如对单独的字段或文档进.Elasticsearch是一个高伸缩、高可用、基于Apache Lucene的开源搜索与分析引擎。通过它你可以很方便地对数据进行深入挖掘,可以随时放大与缩小搜索与分析的区间,并且这一切都是实时的。为了提供了一个优秀的用户体验,我们对Elasticsearch投入了很大的精力。但我们也为用户提供了全方面的选项,在必要的情况下,可以对该引擎的几乎每个方面进行定制。 举例来说,当你使用它搜索数据的时候,以实现你的目的。你也可以对schema映射进行定制、不依赖schema并且基于JSON的模型,你可以直接传入原始的JSON文档,Elasticsearch会自动地检测出你的数据类型,并对文档进行索引,可以使用传统的查询(‘查找满足条件Y的所有项X’)进行过滤(在Elasticsearch术语中称为“视图”),高亮显示搜索片段,并且提供了强大的聚合(即Elasticsearch中的“分面”(facet))能力。也可以使用地理位置(‘查找在Z里之内的所有项’),或是为用户提供搜索关键字建议,为每条结果提供相应的上下文。Elasticsearch本身的各种选项已有了良好的默认值
Ⅵ elasticsearch 查看每个分片下有多少条数据
Elasticsearch是一个高伸缩、高可用、基于Apache Lucene的开源搜索与分析引擎。通过它你可以很方便地对数据进行深入挖掘,可以随时放大与缩小搜索与分析的区间,并且这一切都是实时的。为了提供了一个优秀的用户体验,我们对Elasticsearch投入了很大的精力。Elasticsearch本身的各种选项已有了良好的默认值,使用户能够更方便地上手。但我们也为用户提供了全方面的选项,在必要的情况下,可以对该引擎的几乎每个方面进行定制。
举例来说,当你使用它搜索数据的时候,可以使用传统的查询(‘查找满足条件Y的所有项X’)进行过滤(在Elasticsearch术语中称为“视图”),高亮显示搜索片段,为每条结果提供相应的上下文。也可以使用地理位置(‘查找在Z里之内的所有项’),或是为用户提供搜索关键字建议,并且提供了强大的聚合(即Elasticsearch中的“分面”(facet))能力,例如时间分布图或者统计图。
Elasticsearch既可以搜索、也可以保存数据。它提供了一种半结构化、不依赖schema并且基于JSON的模型,你可以直接传入原始的JSON文档,Elasticsearch会自动地检测出你的数据类型,并对文档进行索引。你也可以对schema映射进行定制,以实现你的目的,例如对单独的字段或文档进行boost映射,或者是定制全文搜索的分析方式等等。
你既可以在自己的膝上电脑中启用一个小型实例,也可以在云端启用几十乃至几百个实例,只需要一些极小的改变而已。Elasticsearch会自动进行横向扩展,它能够随着你的应用一起成长。
Elasticsearch运行在JVM之上,它使用JSON格式,通过RESTful HTTP接口的方式访问,因此任何一种客户端或语言都能够与其交互。目前已经有了大量的客户端和框架的整合方案,包括对多种编程语言的支持,通过这些原生的API与专门的DSL将不一致的地方最小化,并实现性能最大化。
Elasticsearch非常适合于大数据的场合,它的高伸缩性与分布式架构的本质使得对大量信息的搜索与存储都可以在近乎实时的情况下完成。通过Elasticsearch-Hadoop这个项目,我们使Hadoop使用者(这里也包括Hive、Pig和Cascading)能够用一个成熟的搜索引擎来增强他们的工作流。我们还为他们提供了一种丰富的语言,能够让他们更好地表达意图,因而更准确地获得想要的结果,并且速度也大大提高了。
Ⅶ Elasticsearch 查询怎么返回指定的字段值
使用 _source 过滤。
http://localhost:9200/_search?_source=name
这样便过滤除了 name 字段。
如果使用 Request Body 的话
GET/_search
{
"_source":"name",
"query":{
//...
}
}
设置为false将会不返回任何 field
GET/_search
{
"_source":false,
"query":{
"term":{"user":"kimchy"}
}
_source 还可以支持一些匹配规则,下面的例子来自官方文档:
GET/_search
{
"_source":"obj.*",
"query":{
"term":{"user":"kimchy"}
}
}
GET/_search
{
"_source":["obj1.*","obj2.*"],
"query":{
"term":{"user":"kimchy"}
}
}
GET/_search
{
"_source":{
"includes":["obj1.*","obj2.*"],
"excludes":["*.description"]
},
"query":{
"term":{"user":"kimchy"}
}
}
文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html
Ⅷ 如何在elasticsearch中查看Logstash打到elasticsearch的数据
Elasticsearch是一个高伸缩、高可用、基于Apache
Lucene的开源搜索与分析引擎。通过它你可以很方便地对数据进行深入挖掘,可以随时放大与缩小搜索与分析的区间,并且这一切都是实时的。为了提供了一
个优秀的用户体验,我们对Elasticsearch投入了很大的精力。Elasticsearch本身的各种选项已有了良好的默认值,使用户能够更方便
地上手。但我们也为用户提供了全方面的选项,在必要的情况下,可以对该引擎的几乎每个方面进行定制。
举例来说,当你使用它搜索数据的时候,可以使
用传统的查询(‘查找满足条件Y的所有项X’)进行过滤(在Elasticsearch术语中称为“视图”),高亮显示搜索片段,为每条结果提供相应的上
下文。也可以使用地理位置(‘查找在Z里之内的所有项’),或是为用户提供搜索关键字建议,并且提供了强大的聚合(即Elasticsearch中的“分
面”(facet))能力,例如时间分布图或者统计图。
Elasticsearch既可以搜索、也可以保存数据。它提供了一种半结构化、不依赖
schema并且基于JSON的模型,你可以直接传入原始的JSON文档,Elasticsearch会自动地检测出你的数据类型,并对文档进行索引。你
也可以对schema映射进行定制,以实现你的目的,例如对单独的字段或文档进行boost映射,或者是定制全文搜索的分析方式等等。
你既可以在自己的膝上电脑中启用一个小型实例,也可以在云端启用几十乃至几百个实例,只需要一些极小的改变而已。Elasticsearch会自动进行横向扩展,它能够随着你的应用一起成长。
Elasticsearch
运行在JVM之上,它使用JSON格式,通过RESTful
HTTP接口的方式访问,因此任何一种客户端或语言都能够与其交互。目前已经有了大量的客户端和框架的整合方案,包括对多种编程语言的支持,通过这些原生
的API与专门的DSL将不一致的地方最小化,并实现性能最大化。
Elasticsearch非常适合于大数据的场合,它的高伸缩性与分布式架构
的本质使得对大量信息的搜索与存储都可以在近乎实时的情况下完成。通过Elasticsearch-Hadoop这个项目,我们使Hadoop使用者(这
里也包括Hive、Pig和Cascading)能够用一个成熟的搜索引擎来增强他们的工作流。我们还为他们提供了一种丰富的语言,能够让他们更好地表达
意图,因而更准确地获得想要的结果,并且速度也大大提高了。
Ⅸ elasticsearch 怎么过滤分词一个字
分词一个字
Ⅹ Elasticsearch 查询怎么返回指定的字段值
指定返回字段,查询方式,
SearchResponse response = client.prepareSearch("sb").setTypes("sb")
.setQuery(query).setFrom(0).setSize(500)
.setExplain(false)
.addFields(new String[]{"cphm1","jcdid","cplx1","tpid1","tgsj","cdid"})
.execute().actionGet();```
**结果获取方式:**
//指定返回字段时的结果获取方式------begin---------
Map<String, Object> map = new HashMap<String, Object>();
List<Map> listresult = new ArrayList<Map>();
for(final SearchHit hit:response.getHits()){
final Iterator<SearchHitField> iterator = hit.iterator();
while(iterator.hasNext()){
final SearchHitField hitfield = iterator.next();
map.put(hitfield.getName(),hitfield.getValue());
System.out.print(hitfield.getName()+"=="+hitfield.getValue()+"-----");
}
listresult.add(map);
System.out.println();
}
for(final Map m:listresult){
// System.out.println(m.get("jcdid")+"--"+m.get("cphm1")+"--"+m.get("tpid1")+"--"+m.get("tgsj"));
}
**普通查询方式**
SearchResponse response = client.prepareSearch("sb").setTypes("sb")
.setQuery(query).setFrom(0).setSize(500)
.setExplain(false)
.execute().actionGet();
结果获取方式:
SearchHits hits = response.getHits();
for (int i = 0; i < hits.getHits().length; i++) {
System.out.print(“主键值:”+hits.getAt(i).getId()+”—>”);
System.out.print(hits.getAt(i).getSource().get(“cphm1”) + “—”);
System.out.print(hits.getAt(i).getSource().get(“cplx1”) + “—”);
System.out.print(hits.getAt(i).getSource().get(“jcdid”) + “—”);