初窺ElasticSearch
初窺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
文檔,來自spring io,簡單講了一下springboot裏面能夠直接應用elastic search
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