初窥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
一个简单的es介绍,中文的看起来快
一个入门型的指导,可惜是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