1. 程式人生 > >初窺ElasticSearch

初窺ElasticSearch

下載 json數據包 com function learn 按順序 模糊搜索 搜索範圍 last

初窺ElasticSearch

官網上面的,不知道講的是什麽。。

youtube上面有一個start with,內容是在windows以下跑這個elastic search,然後用一個fidler工具可視化測試

https://www.youtube.com/watch?

v=60UsHHsKyN4

粗略看起來。事實上es和其它db沒什麽大差別,僅僅是在搜索上有非常多強大功能,所以非常適合用在須要搜索的項目。貌似用curl發送一個JSON格式的數據(實際上是命令)到es就能夠做CRUD

elasticsearch權威指南。一本書,或許有幫助。在gitbook上正在翻譯。

下載下來看,翻譯的事實上挺不錯。

雖說看英文版原汁原味,可是看中文還是快上非常多。

。下載下來叫LearnElasticSearch.pdf

http://es.xiaoleilu.com

一個簡單的es介紹,中文的看起來快

http://www.elasticsearch.cn

一個入門型的指導,可惜是gradle的。

http://java.dzone.com/articles/first-step-spring-boot-and

http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-nosql.html


花了一晚上看了不少資料,才堪堪搞明確這個東西是啥玩意。

資質駑鈍。

。。ES本質上事實上真的和Mongodb之類的NoSql數據庫沒有特別大的差別。預計最大的長處是模糊搜索。範圍搜索之類的功能,所以名字就非常強調search。我一開始以為這個是用來搜索的算法庫,,結果終於還是個數據庫。。希望我如今的理解是膚淺的。希望它功能遠遠不止這些。

。。

依據LearnElasticSearch.pdf,能夠初步學習ES在命令行以下的一些基本知識,事實上就是數據庫的CRUD之類的。還有更高級一點的就是ES的搜索功能(重點)。


C:
curl -XPUT localhost:9200/megacorp/employee/1 -d ‘{“name”:”charlie”}’

R:
curl -XGET localhost:9200/megacorp/employee/1

U:
curl -XPOST localhost:9200/megacorp/employee/1 -d ‘{“last_name”:”peng”}’

D:
curl -DELETE localhost:9200/megacorp/employee/1

在基礎的CRUD之後。ElasticSearch提供了強大的搜索功能。
搜索的時候,事實上是發送一個json數據到一個url,然後這個json數據包裏面包括了搜索條件。
curl -XGET localhost:9200/magacorp/employee/_search?pretty -d ‘{“query”:{“match”:{“last_name”:”huang”}}}’

這裏的json稱謂DSL,就是所謂的Domain Specific Language

更復雜的DSL例如以下,
{
“query” : {
“filtered” : {
“filter” : {
“range” : {
“age” : { “gt” : 30 }
}
},
“query” : {
“match” : {
“last_name” : “Smith”
}
}
}
}

全文搜索:
{
“query” : {
“match” : { “last_name” : “John Smith”}
}
}
這個會依據搜索評分按順序給出反饋

{
“query” : {
“match_phrase” : { “last_name” : “John Smith”}
}
}
這個會精確搜過該phrase

初窺ElasticSearch