初窥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. easyui datagrid加载成功之后选定并获取首行数据

    //加载成功之后,选定并获取首行数据 onLoadSuccess:function(data){ alert("grid加载成功"); var rows=$('test').dat ...

  2. C#趣味程序---求两个数的最大公约数和最小公倍数

    using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Cons ...

  3. ngrinder安装

    1.源码编译和部署 官网:http://naver.github.io/ngrinder/ 下载源码后,存在部分依赖库不在maven的远程仓库中,这是可以用下载jar包后,用以下命令打包到本地仓库: ...

  4. 【玩转cocos2d-x之三十九】Cocos2d-x 3.0截屏功能集成

    3.0的截屏和2.x的截屏基本上同样.都是利用RenderTexture来处理,在渲染之前调用call函数,然后调用Cocos的场景visit函数对其进行渲染,渲染结束后调用end函数就可以.仅仅是3 ...

  5. unity3D克隆50个游戏对象并输出Json格式的文本

    http://wenku.baidu.com/link?url=tl8q_aj1n-U267XkKtSZISaw6jKJ1woh4CJkDUr1AwEzllSAv7P0r7cawXXSyDVXNf6m ...

  6. NYOJ1097 Ugly Numbers 【丑数】

    Ugly Numbers 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 Ugly numbers are numbers whose only prime fact ...

  7. Photoshop之学习笔记(2) - 常用快捷键

    1.1024x768常用桌面分辨率2.点阵图(像素图).矢量图3.PPI 分辨率  DPI 打印输出的分辨率4.选框工具5.拾色器(默认H恢复色条 色相)6.Ctrl+D 取消选框工具7.Ctrl+S ...

  8. iOS 使用AFNetWorking监听APP网络状态变化(可用于更改缓存策略、提示网络等)

    前言 我们知道在APP开发过程中.监听手机当前的网络状态还是一个非经常常使用的方法,这里我来为大家接受一种使用AFNetWorking来监听当前的网络状态的方法:网络监听对程序开发的帮助有非常多:比方 ...

  9. android adt 最新下载地址

    打开这个网址就可以看到adt的详细信息:  http://developer.android.com/sdk/installing/installing-adt.html 或者直接在你的eclipse ...

  10. mybatis+oracle的批量插入

    // 批量插入,手动控制事务 SqlSession batchSqlSession = null; try { batchSqlSession = sqlSessionTemplate.getSqlS ...