Elasticsearch安装使用教程

来源:互联网 发布:仿淘宝大花朵帽子勾法 编辑:程序博客网 时间:2024/04/29 20:12

(http://www.linuxidc.com/Linux/2015-02/113615.htm)


(https://www.elastic.co/guide/en/marvel/current/index.html) 官方文档


Elasticsearch是一个全文搜索引擎。安装Elasticsearch时需要先安装Java。
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.2.zip
unzip elasticsearch-1.4.2.zip
cd elasticsearch-1.4.2
./bin/elasticsearch

安装Marvel
Marvel是一个管理和监控Elasticsearch的工具。它提供一个叫Sense的交互式接口方便通过浏览器与Elasticsearch交互。

bin/plugin -i elasticsearch/marvel/latest


如果不想使用Marvel监控本地集群,可以使用如下方式关闭Marvel监控

echo 'marvel.agent.enabled: false' >> ./config/elasticsearch.yml可以通过前台的方式启动Elasticsearch

bin]$ sudo ./elasticsearch

使用-d参数可以将Elasticsearch放到后台运行

bin]$ sudo ./elasticsearch -d

查看Elasticsearch中的数据

$ curl "http://localhost:9200/?pretty" 

  "status" : 200, 
  "name" : "xxx", 
  "cluster_name" : "elasticsearch", 
  "version" : { 
    "number" : "1.4.2", 
    "build_hash" : "927caff6f05403e936c20bf4529f144f0c89fd8c", 
    "build_timestamp" : "2014-12-16T14:11:12Z", 
    "build_snapshot" : false, 
    "lucene_version" : "4.10.2" 
  }, 
  "tagline" : "You Know, for Search" 
}

通过config/elasticsearch.yml设置cluster.name和node.name

可以通过以下方式关闭Elasticsearch
curl -XPOST 'http://localhost:9200/_shutdown'

Talking to Elasticsearch
根据是否使用Java语言,与Elasticsearch交互有几种方法,如果是Java API参见文档

http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/index.html 
如果使用其他语言,则使用Elasticsearch提供的RESTFUL API,或者可以直接使用linux命令curl访问

curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/?<QUERY_STRING>' -d '<BODY>'

VER        HTTP请求方式,GET,POST,PUT,HEAD或DELETE

PROTOCOL      使用HTTP或者HTTPS

HOST        Elasticsearch集群中的任意一个node的主机名,如果是在node本机就直接使用localhost

PORT        Elasticsearch运行HTTP服务的端口,默认是9200

QUERY_STRING  查询参数
BODY        JSON格式的请求数据
$ curl -XGET 'http://localhost:9200/_count?pretty' -d ' 

    "query": { 
        "match_all": {} 
    } 



  "count" : 22692, 
  "_shards" : { 
    "total" : 3, 
    "successful" : 3, 
    "failed" : 0 
  } 
}

$ curl -i -XGET 'localhost:9200/' 
HTTP/1.1 200 OK 
Content-Type: application/json; charset=UTF-8 
Content-Length: 334 
  

  "status" : 200, 
  "name" : "jidong", 
  "cluster_name" : "elasticsearch", 
  "version" : { 
    "number" : "1.4.2", 
    "build_hash" : "927caff6f05403e936c20bf4529f144f0c89fd8c", 
    "build_timestamp" : "2014-12-16T14:11:12Z", 
    "build_snapshot" : false, 
    "lucene_version" : "4.10.2" 
  }, 
  "tagline" : "You Know, for Search" 
}

Relational DB  Databases    Tables  Rows    Columns
Elasticsearch  Indices    Types  Documents  Fields

通过Marvel的Sense接口访问Elasticsearch
http://xxxx.com:9200/_plugin/marvel/sense/index.html 
以下直接使用GET或PUT的简略形式,都是直接使用Marvel的Sense接口访问Elasticsearch,可以点击“Copy as cURL”查看对应的curl命令写法

Elasticsearch可以横向扩展到几百台服务器,处理PB以上的数据。

<span class="pln" style="color: rgb(0, 0, 0);">PUT </span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">megacorp</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">employee</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"John"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="lit" style="color: rgb(0, 102, 102);">25</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"I love to go rock climbing"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"sports"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>
/megacorp/employee/1<div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets_01.png" alt="" /></a></div>

这个路径包含三个信息
megacorp 索引名称,类似关系型数据库的数据库名称

employee 类型名称,类似关系型数据库的表名称
1    特定employee的ID

<span class="pln" style="color: rgb(0, 0, 0);">PUT </span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">megacorp</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">employee</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="lit" style="color: rgb(0, 102, 102);">2</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"Jane"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">32</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I like to collect rock albums"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">PUT </span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">megacorp</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">employee</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="lit" style="color: rgb(0, 102, 102);">3</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"Douglas"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Fir"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">35</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="str" style="color: rgb(0, 136, 0);">"I like to build cabinets"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"forestry"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>

 

在Sense中输入

GET /megacorp/employee/1

显示结果

<span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"_index"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"megacorp"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"_type"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"employee"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"_id"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"1"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"_version"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"found"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="kwd" style="color: rgb(0, 0, 136); font-weight: bold;">true</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"_source"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"John"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">25</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I love to go rock climbing"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"sports"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>

 

 

GET /megacorp/employee/_search

 

<span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"took"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="lit" style="color: rgb(0, 102, 102);">6</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"timed_out"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="kwd" style="color: rgb(0, 0, 136); font-weight: bold;">false</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"_shards"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"total"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="lit" style="color: rgb(0, 102, 102);">3</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"max_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_index"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="str" style="color: rgb(0, 136, 0);">"megacorp"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_type"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">          </span><span class="str" style="color: rgb(0, 136, 0);">"employee"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_id"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"3"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_source"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"Douglas"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Fir"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">35</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I like to build cabinets"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"forestry"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_index"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="str" style="color: rgb(0, 136, 0);">"megacorp"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_type"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">          </span><span class="str" style="color: rgb(0, 136, 0);">"employee"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_id"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"1"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_source"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"John"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">25</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I love to go rock climbing"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"sports"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_index"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="str" style="color: rgb(0, 136, 0);">"megacorp"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_type"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">          </span><span class="str" style="color: rgb(0, 136, 0);">"employee"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_id"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"2"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_source"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"Jane"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">32</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I like to collect rock albums"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>

 

GET /megacorp/employee/_search?q=last_name:Smith
<span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"total"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="lit" style="color: rgb(0, 102, 102);">2</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"max_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="lit" style="color: rgb(0, 102, 102);">0.30685282</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_source"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"John"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">25</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I love to go rock climbing"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"sports"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_source"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"Jane"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">32</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I like to collect rock albums"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>

 

 

Elasticsearch提供了一个丰富的,灵活的查询语言,叫做DSL.Domain-specific language(DSL)使用特定的JSON请求。

<span class="pln" style="color: rgb(0, 0, 0);">GET </span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">megacorp</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">employee</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">_search</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"query"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="str" style="color: rgb(0, 136, 0);">"match"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span>

这里没有使用查询参数,使用match匹配查询条件。输出结果和上个例子相同。

 

 

查找所有last name为Smith,年龄大于30的员工

[object Object][object Object]<div class="save_code tracking-ad" data-mod="popu_249"><span style="color: rgb(51, 51, 51); font-family: tahoma, 宋体; line-height: 22.4px; background-color: rgb(250, 250, 252);"> </span></div>
<span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"total"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"max_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="lit" style="color: rgb(0, 102, 102);">0.30685282</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_source"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"Jane"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">32</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I like to collect rock albums"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>

 

Full-text search 全文搜索

 

搜索所有喜欢rock climbing的员工

在Sense中输入

<span class="pln" style="color: rgb(0, 0, 0);">GET </span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">megacorp</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">employee</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">_search</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"query"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="str" style="color: rgb(0, 136, 0);">"match"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"rock climbing"</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>

 

查看查询结果

[object Object][object Object]<div class="save_code tracking-ad" data-mod="popu_249"></div>

默认情况下,Elasticsearch根据匹配结果的relevance score进行排序,表示匹配程度。可以看到第二个匹配结果只包含rock也被显示出来。

 

如果想要完全匹配查询条件,可以使用短语搜索phrase search

使用match_phrase进行条件匹配

<span class="pln" style="color: rgb(0, 0, 0);">GET </span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">megacorp</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">employee</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">_search</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"query"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="str" style="color: rgb(0, 136, 0);">"match_phrase"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"rock climbing"</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span>

 

<span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"total"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"max_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="lit" style="color: rgb(0, 102, 102);">0.23013961</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">0.23013961</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_source"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"John"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">25</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I love to go rock climbing"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"sports"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>

现在就只有一条搜索结果

 

 

Highlight our searches高亮显示查询结果

<span class="pln" style="color: rgb(0, 0, 0);">GET </span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">megacorp</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">employee</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">_search</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"query"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="str" style="color: rgb(0, 136, 0);">"match_phrase"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"rock climbing"</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"highlight"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="str" style="color: rgb(0, 136, 0);">"fields"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{}</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span>
<span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"total"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"max_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="lit" style="color: rgb(0, 102, 102);">0.23013961</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_score"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">0.23013961</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"_source"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"first_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"John"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"Smith"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"age"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="lit" style="color: rgb(0, 102, 102);">25</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"I love to go rock climbing"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="str" style="color: rgb(0, 136, 0);">"sports"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="str" style="color: rgb(0, 136, 0);">"highlight"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"about"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="pln" style="color: rgb(0, 0, 0);">                  </span><span class="str" style="color: rgb(0, 136, 0);">"I love to go <em>rock</em> <em>climbing</em>"</span><a target=_blank id="CO4-1" style="color: rgb(116, 183, 63);" target="_blank"></a><img style="border: 0px currentColor; border-image: none; height: auto; vertical-align: middle;" alt="" src="http://www.linuxidc.com/upload/2015_02/150218101070101.png" /><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span>

 

 

使用Elasticsearch的聚合函数可以对数据进行复杂的分析。类似SQL语言的GROUP BY语句。

 

<span class="pln" style="color: rgb(0, 0, 0);">GET </span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">megacorp</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">employee</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">_search</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"aggs"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"all_interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"terms"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="str" style="color: rgb(0, 136, 0);">"field"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" data-mod="popu_249"></div>
<span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"hits"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="str" style="color: rgb(0, 136, 0);">"aggregations"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"all_interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="str" style="color: rgb(0, 136, 0);">"buckets"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"key"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"doc_count"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="lit" style="color: rgb(0, 102, 102);">2</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"key"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"forestry"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"doc_count"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"key"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">       </span><span class="str" style="color: rgb(0, 136, 0);">"sports"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">               </span><span class="str" style="color: rgb(0, 136, 0);">"doc_count"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);">            </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">         </span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">   </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span>

 

<span class="pln" style="color: rgb(0, 0, 0);">GET </span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">megacorp</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">employee</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">_search</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"query"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"match"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"last_name"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"smith"</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"aggs"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="str" style="color: rgb(0, 136, 0);">"all_interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="str" style="color: rgb(0, 136, 0);">"terms"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="str" style="color: rgb(0, 136, 0);">"field"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"interests"</span><span class="pln" style="color: rgb(0, 0, 0);">      </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">    </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span>
<span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">...</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="str" style="color: rgb(0, 136, 0);">"all_interests"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">     </span><span class="str" style="color: rgb(0, 136, 0);">"buckets"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pun" style="color: rgb(102, 102, 0);">[</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">           </span><span class="str" style="color: rgb(0, 136, 0);">"key"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"music"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">           </span><span class="str" style="color: rgb(0, 136, 0);">"doc_count"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="lit" style="color: rgb(0, 102, 102);">2</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="pun" style="color: rgb(102, 102, 0);">},</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);">           </span><span class="str" style="color: rgb(0, 136, 0);">"key"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="str" style="color: rgb(0, 136, 0);">"sports"</span><span class="pun" style="color: rgb(102, 102, 0);">,</span><span class="pln" style="color: rgb(0, 0, 0);">           </span><span class="str" style="color: rgb(0, 136, 0);">"doc_count"</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);">        </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">     </span><span class="pun" style="color: rgb(102, 102, 0);">]</span><span class="pln" style="color: rgb(0, 0, 0);">  </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><div class="save_code tracking-ad" style="display: none;" data-mod="popu_249"><a target=_blank target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png" alt="" /></a></div>

Elasticsearch可以横向扩展到几百台服务器,处理PB以上的数据。

分布式搜索ElasticSearch单机与服务器环境搭建  http://www.linuxidc.com/Linux/2012-05/60787.htm

ElasticSearch的工作机制  http://www.linuxidc.com/Linux/2014-11/109922.htm

ElasticSearch 的详细介绍:请点这里
ElasticSearch 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-02/113615.htm

0 0
原创粉丝点击