安裝JAVA
wget http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.tar.gz tar zxvf jdk-8u101-linux-x64.tar.gz vim /etc/profile 添加如下內容: JAVA_HOME=/usr/jdk CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH source /etc/profile java -version
安裝Elasticsearch
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.3.5/elasticsearch-2.3.5.zip unzip elasticsearch-$VERSION.zip cd elasticsearch-$VERSION
運行Elasticsearch
/bin/elasticsearch
測試Elasticsearch
curl 'http://localhost:9200/?pretty'
關閉Elasticsearch
curl -XPOST 'http://localhost:9200/_shutdown'
基於HTTP協議,以JSON爲數據交互格式的RESTful API
curl -XGET 'localhost:9200/_count?pretty' -d ' { "query": { "match_all": {} } }'
索引員工文檔
curl -XPUT 'localhost:9200/megacorp/employee/1?pretty' -d ' { "first_name" : "John", "last_name" : "Smith", "age" : 25, "about" : "I love to go rock climbing", "interests": [ "sports", "music" ] }'
curl -XPUT 'localhost:9200/megacorp/employee/2?pretty' -d ' { "first_name" : "Jane", "last_name" : "Smith", "age" : 32, "about" : "I like to collect rock albums", "interests": [ "music" ] }'
curl -XPUT 'localhost:9200/megacorp/employee/3?pretty' -d ' { "first_name" : "Douglas", "last_name" : "Fir", "age" : 35, "about": "I like to build cabinets", "interests": [ "forestry" ] }'
簡單搜索
curl -XGET 'localhost:9200/megacorp/employee/_search?pretty' curl -XGET 'localhost:9200/megacorp/employee/_search?q=last_name:Smith&pretty'
使用DSL語句查詢
curl -XGET 'localhost:9200/megacorp/employee/_search?pretty' -d ' { "query" : { "match" : { "last_name" : "Smith" } } }'
更復雜的搜索
curl -XGET 'localhost:9200/megacorp/employee/_search?pretty' -d ' { "query" : { "filtered" : { "filter" : { "range" : { "age" : { "gt" : 30 } <1> } }, "query" : { "match" : { "last_name" : "smith" <2> } } } } }'
全文搜索
curl -XGET 'localhost:9200/megacorp/employee/_search?pretty' -d ' { "query" : { "match" : { "about" : "rock climbing" } } }'
短語搜索
curl -XGET 'localhost:9200/megacorp/employee/_search?pretty' -d ' { "query" : { "match_phrase" : { "about" : "rock climbing" } } }'
高亮我們的搜索
curl -XGET 'localhost:9200/megacorp/employee/_search?pretty' -d ' { "query" : { "match_phrase" : { "about" : "rock climbing" } }, "highlight": { "fields" : { "about" : {} } } }'
找到所有職員中最大的共同點
curl -XGET 'localhost:9200/megacorp/employee/_search?pretty' -d ' { "aggs": { "all_interests": { "terms": { "field": "interests" } } } }'
所有姓"Smith"的人最大的共同點
curl -XGET 'localhost:9200/megacorp/employee/_search?pretty' -d ' { "query": { "match": { "last_name": "smith" } }, "aggs": { "all_interests": { "terms": { "field": "interests" } } } }'
統計每種興趣下職員的平均年齡
curl -XGET 'localhost:9200/megacorp/employee/_search?pretty' -d ' { "aggs": { "all_interests": { "terms": { "field": "interests" } } } }'