初窥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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-26 15:14:59

初窥ElasticSearch的相关文章

Scrapy 1.4 文档 01 初窥 Scrapy

初窥 Scrapy Scrapy 是用于抓取网站并提取结构化数据的应用程序框架,其应用非常广泛,如数据挖掘,信息处理或历史存档. 尽管 Scrapy 最初设计用于网络数据采集(web scraping),但它也可用于使用 API(如 Amazon Associates Web Services)提取数据或用作通用的网络爬虫. 爬虫(spider)示例 为了向您展示 Scrapy 带给您的是什么,我们将使用最简单的方式运行一个爬虫,向您展示一个 Scrape Spider 的例子. 这是一个爬虫的

jQuery源码学习(2):选择器初窥

选择器初窥 代码架构: jQuery选择器可以依照传入数据的类型分为五大类: 传入字符串:$("div"), $("#id"), $(".div1"),$(".div p.title") 传入html代码:$("<div></div>"), $("<div>1</div><div>2</div>") 传入对象:$(d

Boost.ASIO简要分析-1 初窥

Boost.Asio是一个主要用于网络及底层I/O编程的跨平台C++库. 1. 初窥 Boost.Asio支持对I/O对象进行同步及异步操作. 1.1 同步操作 同步操作的事件顺序如下图所示: 1) 调用者调用I/O对象的connect函数开始连接操作,socket.connect(server_endpoint): 2) I/O对象将连接请求传递给io_service: 3) io_service调用操作系统函数: 4) 操作系统返回结果给io_service: 5) io_service将结

Swift初窥----深入Swift

存储函数 内存中的Fibonacci函数,避免重复递归,来提高代码执行效率 模板 编译器 Swift编译器,使其可以编译出更快的机器代码 Swift初窥----深入Swift,布布扣,bubuko.com

初窥netfilter/iptables

做这个东西太麻烦了,一不小心,就被自己关门外了. ---------------------------------------------- 一.前言 二.环境 三.语法解析 四.配置及测试 1.SNAT案例 2.DNAT案例 3.SSH案例 4.SSH深入案例(自定义规则) 5.web和ftp(自定义规则) 6.web和ftp(系统默认规则) 五.保存 ---------------------------------------------- 一.前言 iptables即Linux 内核集

C++拾遗(二)——初窥标准库类型

本篇博文的开始,先介绍一道书上看到的智力题:有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸.有一台称重精准的天平,只是用一次天平的情况下如何找出比较重的那瓶药丸? 好了,直接公布答案.从药瓶#1取出一粒药丸,从药瓶#2取出两粒,从药瓶#3取出三粒,依此类推.如果每粒药丸均重1克,则称得总重量为210克(1 + 2 + … + 20 = 20 * 21 / 2 = 210),“多出来的”重量必定来自每粒多0.1克的药丸.药瓶的编号可由算式(weight - 210 gr

初窥CSS布局(一篇文章学会布局)

写一篇文章,难免要为之命名,所谓名不正,则言不顺:言不顺,则事不成.这篇文章是要说明一下CSS中的布局,实为入门之法矣. 本想命名为"布局说"的,但是总感觉题目太大,被大神们看到难免沦为笑柄,思来想去,便命名为"初窥CSS布局". 不管是写一个html页面,还是打算建一个网站,首先应该想的是怎么为之布局,这是常常让我头疼的事情,不知,这是否也曾困扰着 足下?您是怎么为页面布局的呢?是否有为页面布局的通用之法呢?我不知道.但是下文,就是从头到尾介绍了一种页面布局的方法

初窥c++11:lambda函数

为什么需要lambda函数 匿名函数是许多编程语言都支持的概念,有函数体,没有函数名.1958年,lisp首先采用匿名函数,匿名函数最常用的是作为回调函数的值.正因为有这样的需求,c++引入了lambda 函数,你可以在你的源码中内联一个lambda函数,这就使得创建快速的,一次性的函数变得简单了.例如,你可以把lambda函数可在参数中传递给std::sort函数 #include <algorithm> #include <cmath> void abssort(float*

Ioc容器Autofac系列(1)-- 初窥(转)

前言 第一次接触Autofac是因为CMS系统--Orchard,后来在一个开源爬虫系统--NCrawler中也碰到过,随着深入了解,我越发觉得Ioc容器是Web开发中必不可少的利器.那么,Ioc容器是用来做什么的?用了有什么好处?我相信如果不明白这两点就很难敞开心扉接受Ioc容器. 传统解耦设计的弊端 为方便描述,举个日志的栗子.我简化实现,一个Log类,一个SaveLog方法.如果其他类想拥有记日志功能,那么只需在内部包含一个Log类型的变量: 双击代码全选 1 2 3 4 5 6 7 8