ES几种常见的聚合操作 普通聚合 POST /product/_search { "size": 0, "aggs": { "agg_city": { "terms": { "field": "departureCitys" //字段 } } } } 父子结构的索引的聚合 POST product/_search { "size": 0, "aggs&quo…
短语匹配 短语匹配故名思意就是对分词后的短语就是匹配,而不是仅仅对单独的单词进行匹配 下面就是根据下面的脚本例子来看整个短语匹配的有哪些作用和优点 GET /my_index/my_type/_search { "query": { "match_phrase": { "title": "quick brown fox" } } } //查询分词之后连续的 //例如 brown fox 可以查询到,但是quick fox 查询…
高亮搜索 ES 通过在查询的时候可以在查询之后的字段数据加上html 标签字段,使文档在在web 界面上显示的时候是由颜色或者字体格式的 GET /product/_search { "size": 200, "query": { "match_phrase": { "name": "上海" } }, "highlight": { "fields": { "…
ES添加排序 在默认的情况下,ES 是根据文档的得分score来进行文档额排序的.但是自己可以根据自己的针对一些字段进行排序.就像下面的查询脚本一样.下面的这个查询是根据productid这个值进行排序的,而且进行了双字段的排序.当productid 相同时的文档是根据下面的那个排序字段进行的排序 POST /product/_search { "query": { "bool": { "filter": { "term":…
本文主要从概念以及架构层面对Elasticsearch做一个简单的介绍,在介绍ES之前,会先对ES的"发动机"Lucene做一个简单的介绍 1. Lucene介绍 为了更深入地理解ElasticSearch的工作原理,特别是索引和查询这两个过程,理解Lucene的工作原理至关重要.本质上,ElasticSearch是用Lucene来实现索引的查询功能的. 1.1 定义 Lucene是一个成熟的.高性能的.可扩展的.轻量级的,而且功能强大的搜索引擎包.Lucene的核心jar包只有一个文…
什么是微服务微服务架是从SOA架构演变过来,比SOA架构粒度会更加精细,让专业的人去做专业的事情(专注),目的提高效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,互不影响,微服务架构更加体现轻巧.轻量级,是适合于互联网公司敏捷开发.微服务架构特征 微服务架构倡导应用程序设计程多个独立.可配置.可运行和可微服务的子服务.服务与服务通讯协议采用Http协议,使用restful风格API形式来进行通讯,数据交换格式轻量级json格式通讯,整个传输过程中,采用二进制,所以http协…
终于有时间记录一下最近学习的知识了,其实除了写下的这些还有很多很多,但懒得一一写下了: ElasticSearch添加修改删除原理:ElasticSearch的倒排索引和文档一旦生成就不允许修改(其实这是lucene的特性,包括下面的也是,毕竟ElasticSearch是基于lucene的),而提供的修改操作其实是新生成了一个文档,并将之前文档中的不进行修改的json保存到新的文档中,之后对老的文档添加一个删除标记(是添加标记,但并不删除,不过你也访问不到),等到某个时刻就会统一删除掉所有的有删…
PS:上一篇已经介绍了ES的一些基础概念以及单机版ES的安装,配置,本文主要介绍ES的集群管理,CRUD以及简单聚合查询. 集群管理 ES的集群部署起来也很方便,将单机版SCP复制几分,修改elasticsearch.yml文件的Node.name,ip,集群ip List,并确保cluster.name一致即可,然后按照(n+1)/2的规则设置防脑裂数.这里我就不详细介绍了. 查看集群状态 可以通过CURL命令发送REST命令,查询集群的健康状态: curl 'localhost:9200/_…
一.安装 安装 Elasticsearch 之前,需要先安装 Java,并配置好 Java 环境变量. 安装好 Java 环境后,进入 Elasticsearch 官网下载安装包. 解压安装包,进入解压目录下的 bin 目录,输入下面的命令(Windows),启动 Elasticsearch. elasticsearch.bat 打开浏览器,在地址栏输入"http://localhost:9200/",出现下面页面,则代表启动成功. 也可以使用 CURL(利用URL语法在命令行方式下工…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 elasticsearch-2.2.0 一.Rest简介Representational State Transfer一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. REST的操作分为以下几种 GET:获取对象的当前状态: PUT:改变对…