ElasticSearch日记
文章平均质量分 92
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
@SmartSi
Stay Hungry, Stay Foolish
展开
-
[ElasticSearch2.x]Queries vs Filters
1. 查询与过滤Elasticsearch 使用的查询语言(DSL) 拥有一套查询组件(queries),这些组件可以以无限组合的方式进行搭配(mixed and matched)。这套组件可以在以下两种上下文中使用:过滤上下文(filtering context)和查询上下文(query context)。当在过滤上下文(filtering context)中使用 时,该查询被设置成一个“不评分...原创 2017-05-15 10:54:39 · 881 阅读 · 0 评论 -
[ElasticSearch2.x]Filter之Filter原理
1. FilterBuilders废弃org.elasticsearch.index.queries.FilterBuilders从ElasticSearch2.0开始已被删除,作为查询和过滤器组合的一部分。 这些过滤器现在可以在QueryBuilders中使用具有相同名称的方法。所有可以接受FilterBuilder的方法现在也可以接受QueryBuilder。以前使用方式:FilterBuil翻译 2017-05-17 10:16:13 · 3051 阅读 · 1 评论 -
[ElasticSearch2.x]Filter之Cache
过滤器(Filter)的核心实际是采用一个bitset记录与过滤器匹配的文档。当Elasticsearch确定一个bitset可能会在将来被重用时,它将被直接缓存在内存中供以后使用。一旦缓存,这些bitset可以在使用相同查询的任何地方重复使用,而无需再次重新评估整个查询。这些缓存的bitset是非常“机智”的:它们是增量更新的。 在索引新文档时,只需要将那些新文档添加到现有的bitset中,而不翻译 2017-05-17 10:18:14 · 1425 阅读 · 1 评论 -
[ElasticSearch2.x]分析与分析器(Analyzer)
1. 分析过程分析(analysis)是这样一个过程:(1)首先,标记化一个文本块为适用于倒排索引单独的词(term)(2)然后标准化这些词为标准形式,提高它们的“可搜索性”或“查全率”这个工作是分析器(Analyzer)完成的。2. 分析器组成分析器(Analyzer) 一般由三部分构成,字符过滤器(Character Filters)、分翻译 2016-10-19 10:43:23 · 3860 阅读 · 0 评论 -
[ElasticSearch2.x]映射(Mapping)
为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确(Exact-value)的字符串值,Elasticsearch需要知道每个字段里面都包含什么数据类型。这些类型和字段的信息存储在映射(mapping)中。索引中的每个文档都有一个类型(type)。 每个类型拥有自己的映射(mapping)或者模式定义(schema definition翻译 2016-10-19 16:42:52 · 5756 阅读 · 0 评论 -
[ElasticSearch]精确值与全文文本
Elasticsearch中的数据可以大致分为两种类型:精确值和全文文本。1. 精确值(Exact values)精确值是精确的,正如它的名字一样。比如一个日期或一个用户ID,也可以包含精确的字符串,比如用户姓名或邮件地址。精确值"Foo"不同于和精确值"foo"。同样,精确值2014和精确值2014-09-15也不相同。2. 全文文本(Full text)翻译 2016-10-19 17:35:57 · 2668 阅读 · 0 评论 -
[ElasticSearch]原理之分布式文档存储(Distributed Document Store)
之前的文章中,我们已经知道如何存储数据到索引中以及如何检索它。但是我们掩盖了数据存储到集群中以及从集群中获取数据的具体实现的技术细节(But we glossed over many technical details surrounding how the data is distributed and fetched from the cluster)。1. 路由文档到分片中(Rout翻译 2016-10-24 21:00:41 · 2152 阅读 · 0 评论 -
[ElasticSearch]Java API之TermQuery
1. 词条查询(Term Query) 词条查询是ElasticSearch的一个简单查询。它仅匹配在给定字段中含有该词条的文档,而且是确切的、未经分析的词条。term 查询 会查找我们设定的准确值。term 查询本身很简单,它接受一个字段名和我们希望查找的值。下面代码查询将匹配 college 字段中含有"California"一词的文档。记住,词条查询是未经分析的,因此原创 2016-10-18 20:52:33 · 12672 阅读 · 3 评论 -
[Elasticsearch]Elasticsearch+kibana+marvel安装
1. 检查JDK版本使用如下命令检验JDK版本:xiaosi@Qunar:~$ java -versionjava version "1.7.0_40"Java(TM) SE Runtime Environment (build 1.7.0_40-b43)Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)原创 2016-06-23 23:04:03 · 9700 阅读 · 0 评论 -
[ElasticSearch]ElasticSearch插件之Head
1. 安装1.1 不同版本安装方式不同(1)Elasticsearch 5.x:site plugins are not supported. Run elasticsearch-head as a standalone server(2)Elasticsearch 2.x – 4.x:sudo elasticsearch/bin/plugin ins原创 2016-10-11 09:43:23 · 2750 阅读 · 0 评论 -
[ElasticSearch]那些年踩过的ElasticSerch坑
1. 索引名称错误1.1 代码xiaosi@Qunar:~$ curl -XPUT 'localhost:9200/Quanr/employee/1' '> {> "first_name" : "John",> "last_name" : "Smith",> "age" : 25,> "about" : "I love to原创 2016-10-12 22:30:41 · 7659 阅读 · 1 评论 -
[ElasticSearch]Term精确匹配中文字符串短语
1. 给定数据curl -XPUT 'localhost:9200/test-index/stu/1' -d'{ "name":"陈泽鹏", "sex":"boy", "college":"计算机学院"}';curl -XPUT 'localhost:9200/test-index/stu/2' -d'{ "name":"廖力生", "sex":"boy",原创 2016-07-06 20:46:38 · 17554 阅读 · 11 评论 -
[ElasticSearch2.x]Java API 之 索引管理
ElasticSearch为了便于处理索引管理(Indices administration)请求,提供了org.elasticsearch.client.IndicesAdminClient接口。通过如下代码从 Client 对象中获得这个接口的实现:IndicesAdminClient indicesAdminClient = client.admin().indices();原创 2016-10-11 20:33:29 · 9674 阅读 · 4 评论 -
[ElasticSearch]Java API 之 索引文档 (Index API)
Index API 允许我们存储一个JSON格式的文档,使数据可以被搜索。文档通过index、type、id唯一确定。我们可以自己提供一个id,或者也使用IndexAPI 为我们自动生成一个。这里有几种不同的方式来产生JSON格式的文档(document):(1)手动方式,使用原生的byte[]或者String(2)使用Map方式,会自动转换成与之等价的JSON...原创 2016-10-13 13:25:25 · 7911 阅读 · 0 评论 -
[ElasticSearch]Java API 之 滚动搜索(Scroll API)
一般搜索请求都是返回一"页"数据,无论数据量多大都一起返回给用户,Scroll API可以允许我们检索大量数据(甚至全部数据)。Scroll API允许我们做一个初始阶段搜索并且持续批量从Elasticsearch里拉取结果直到没有结果剩下。这有点像传统数据库里的cursors(游标)。Scroll API的创建并不是为了实时的用户响应,而是为了处理大量的数据(Scrolling is...原创 2016-10-13 21:41:45 · 21631 阅读 · 5 评论