初窺Elasticsearch,elasticsearch
初窺Elasticsearch官網上面的,不知道講的是什麼。。youtube上面有一個start with,內容是在windows下面跑這個elastic search,然後用一個fidler工具可視化測試
https://www.youtube.com/watch?v=60UsHHsKyN4
粗略看起來,其實es和其他db沒什麼大區別,只是在搜尋上有很多強大功能,所以很適合用在需要搜尋的項目。貌似用curl發送一個JSON格式的資料(實際上是命令)到es就可以做CRUDelasticsearch權威指南,一本書,也許有協助,在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
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。