初窥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的更多相关文章

  1. Scrapy001-框架初窥

    Scrapy001-框架初窥 @(Spider)[POSTS] 1.Scrapy简介 Scrapy是一个应用于抓取.提取.处理.存储等网站数据的框架(类似Django). 应用: 数据挖掘 信息处理 ...

  2. 初窥Kaggle竞赛

    初窥Kaggle竞赛 原文地址: https://www.dataquest.io/mission/74/getting-started-with-kaggle 1: Kaggle竞赛 我们接下来将要 ...

  3. scrapy2_初窥Scrapy

    递归知识:oop,xpath,jsp,items,pipline等专业网络知识,初级水平并不是很scrapy,可以从简单模块自己写. 初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数 ...

  4. WWDC15 Session笔记 - Xcode 7 UI 测试初窥

    https://onevcat.com/2015/09/ui-testing/ WWDC15 Session笔记 - Xcode 7 UI 测试初窥 Unit Test 在 iOS 开发中已经有足够多 ...

  5. Java发送邮件初窥

    一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 ...

  6. 【软件工程】week5-个人作业-敏捷开发方法初窥

    敏捷开发方法初窥 引言:本周的软件工程个人博客作业是阅读关于敏捷开发方法的文章(http://martinfowler.com/agile.html),并撰写自己的读后感.文章内容非常丰富,对敏捷开发 ...

  7. 网页3D效果库Three.js初窥

    网页3D效果库Three.js初窥 背景 一直想研究下web页面的3D效果,最后选择了一个比较的成熟的框架Three.js下手 ThreeJs官网 ThreeJs-github; 接下来我会陆续翻译 ...

  8. iOS视频直播初窥:高仿<喵播APP>

    视频直播初窥 视频直播,可以分为 采集,前处理,编码,传输, 服务器处理,解码,渲染 采集: iOS系统因为软硬件种类不多, 硬件适配性比较好, 所以比较简单. 而Android端市面上机型众多, 要 ...

  9. php面向对象(一) 初窥

    初窥php面向对象 1.类:类就是属性和方法的集合 是一个抽象的概念比如生活中的“人”,"汽车"2.对象:对象是具体的事物 比如一叫“小强”的人 一辆叫“奥迪a7”的汽车3.类和对 ...

随机推荐

  1. Coherence代理节点在离开集群时的恢复

    Coherence的架构参考 在极端压力之下,有时候代理节点会忙于处理请求而不响应其他的心跳,同步,导致其他节点传输的报文没有回应,而被认为是离开集群,从而影响业务. 写了一段代码,能让进程在监听到有 ...

  2. go/golang init()方法的调用

    go/golang main() init()方法的调用 u011156212 · 2015-10-20 13:00:05 · 9965 次点击 · 预计阅读时间 1 分钟 · 27分钟之前 开始浏览 ...

  3. jenkins报错 not a queue url

    使用Python的jenkinsapi执行job时报错:not a queue url 虽然任务还是构建了,但是错误还是处理的. 原因是:Jenkins的配置,和jenkinsapi里的配置的URL内 ...

  4. 别样JAVA学习(六)继承下(2.3)异常下

    1.RuntimeException Exception中有一个特殊的子类异常RuntimeException执行时异常. 假设在函数内容抛出该异常,函数上能够不用声明.编译一样通过. 假设在函数上声 ...

  5. python——异常except语句用法与引发异常

    except: #捕获所有异常 except: <异常名>: #捕获指定异常 except:<异常名1,异常名2):捕获异常1或者异常2 except:<异常名>,< ...

  6. lodash kebabCase

    _.kebabCase([string='']) 转换字符串为 kebab case. _.kebabCase('Foo Bar'); // => 'foo-bar' _.kebabCase(' ...

  7. SoC嵌入式软件架构设计之六:API设计方法

    在嵌入式系统中,驱动都是以API的方式提供给应用进行调用.这里介绍嵌入式系统的API设计和管理方法. 驱动在系统中会按模块进行分类,比如按键驱动.LCD驱动.文件系统.card驱动.I2C驱动等等:每 ...

  8. 《深入PHP:面向对象、模式与实践》(一)

    第1章  PHP:设计与管理 本章主要介绍了本书有哪些内容. 第2章  PHP与对象 本章总结了PHP面向对象特性的发展过程,逐步介绍对象的概念. PHP/FI:支持变量.关联数组和函数.没有对象. ...

  9. python学习日记:np.newaxis

    import numpy as np label = np.array([[1,2,3,4],[5,6,7,8]])print (label.shape)label = label[np.newaxi ...

  10. IOS推送通知測试工具PushMeBaby

    下载了PushMeBaby在xcode5里中不能使用.类库变了.须要加入Carbon.framework库.在引用的地方改成: #include <Carbon/Carbon.h>.程序就 ...