- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 Elasticsearch2.x 全文检索之——Match转换Bool Query
目前为止,我们已经知道多词条的match queries只是把term query简单的包装了下使用在bool query中,默认情况使用or操作符,它表示每个term query会被加入到should参数中,所以它必须至少满足should参数中指定的查询子句中的一个。如下两个查询其实是等效的:{ "match": { "title": "brown fox"}}{ "boo
2016-10-06 22:42:49
1083
原创 Elasticsearch2.x 全文检索之——查询合并
查询合并(Combining Queries)在Combining Filters这一节我们讨论了在布尔过滤器中如何通过and/or/not逻辑来合并多个过滤子句(filte clauses),在查询中bool query跟bool filter是类似的除了一点。在filter中它做的是一个yes/no的过滤:表示当前文档是否符合过滤条件(是否应该包含在结果集中),其结果只能是yes或no
2016-10-06 21:43:45
1650
原创 Elasticsearch2.x 全文检索之——Match Query
Match QueryMatch Query是es官网推荐的首选搜索方式,它的工作流程是先对查询文本分词,然后看分词后的词条是否出在于对应字段上,在字段上出现的词条数越多匹配度越大,所以默认情况下词条与词条之间是通过“or”来连接。看下面的例子,先创建一个索引并索引4个文档:PUT /my_index{ "settings": { "number_of_shards": 1 }}
2016-10-06 17:20:53
1361
原创 Elasticsearch2.x 拼音分词插件lc-pinyin安装教程
关于lc-pinyin的具体使用这里就不做介绍了,使用方式请参考:《Elasticsearch1.x 拼音分词实现全拼首字母中文混合搜索》由于该插件在ES1.x和ES2.x下的安装和使用有些不同,所以在这里需要针对2.x单独说明下。一、安装首先通过git下载lc-pinyin的源码,并切换到2.2.2这个分支:git clone git@git.oschina.net:music_
2016-10-06 16:09:37
3377
原创 Elasticsearch2.x 全文检索之——文档匹配度
什么是文档匹配度?在es中执行一个搜索请求在默认情况下搜索的结果集是按照匹配度倒序排列。但是什么是文档匹配度?它是如何被计算的呢?
2016-09-30 22:58:05
5391
原创 Elasticsearch-mapper 基于注解方式生成mapping(2.0以上)
Elasticsearch生成mapping的方式上有多种方式,我们可以把mapping做成配置文件,也可以用spring-data-elasticsearch基于注解生成。在基于注解生成这种方式上spring-data的注解还是不错的,但是如果想深度定制化一些参数spring-data却是不支持的,比如针对分词的string类型字段的fielddata加载设置。又如果项目中不想引入spring但又想使用基于注解方式生成mapping,这时spring-data就不行了,这里有另一种选择:elastic
2016-09-25 19:04:44
5600
原创 Elasticsearch2.x Breaking changes
移除的特性Rivers已经移除Elasticsearch不再支持rivers,因为和ES2.0的一些特性相冲突,比如:同步动态mapping更新。具体原因:https://www.elastic.co/blog/deprecating-riversFacets已经移除Facets在ES1.0时就已经被标记为deprecated,可以用更加灵活强大的 aggregation框架,
2016-09-17 14:12:04
671
原创 Elasticsearch2.x Doc values
文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/2.4/doc-values.htmlhttps://www.elastic.co/guide/en/elasticsearch/guide/2.x/docvalues-intro.htmlhttps://www.elastic.co/guide/en/el
2016-09-16 12:59:33
2390
原创 Elasticsearch2.x Cluster Health
原文地址:https://www.elastic.co/guide/en/elasticsearch/guide/current/_cluster_health.htmlCluster Health(集群状态)一个ES集群可能由1个节点1个索引构成,亦或有100个数据节点(data node),3个master节点,几个客户端节点(client node) —— 所有的操作都发生在成百上千
2016-09-15 21:45:02
1321
原创 Elasticsearch2.x 三种缓存介绍:Query Cache、Request Cache、Fielddata Cache
Query Cache也称为Filter Cache,顾名思义它的作用就是对一个查询中包含的过滤器执行结果进行缓存。比如我们常用的term,terms,range过滤器都会在满足某种条件后被缓存,注意,这里的bool过滤器是不会被缓存的,但bool过滤器包含的子query clause会被缓存,我们可以用下面的命令来查询Query Cache的情况。
2016-09-11 16:08:30
14924
原创 Elasticsearch2.x Filter执行流程及缓存原理
这里说的Filter非Post filter,关于Post filter这里不做介绍,我们主要关注的是在执行一个评分查询前执行的Filter。在讲述ES Filter的执行流程和缓存原理之前,有几个概念我们必须要清楚。Query and Filter context
2016-09-01 21:33:46
5546
原创 Elasticsearch1.x 基于lc-pinyin和ik分词实现 中文、拼音、同义词搜索
一、简介有时候我们需要在项目中支持中文 和 拼音的搜索。采用ik分词来做中文分词是目前比好的方式。至于拼音分词可以采用lc-pinyin,虽然lc-pinyin能很好的解决首字母和全拼的搜索,但是在中文分词上却是不支持的,lc-pinyin只能把中文拆成单字来处理。要是能把IK分词和lc-pinyin分词结合那该多好,不是么?本文主要介绍如何把ik和lc-pinyin结合起来使用,使我们的搜索
2016-08-28 12:45:06
3317
原创 Elasticsearch1.x 拼音分词实现全拼首字母中文混合搜索
elasticsearch-analysis-lc-pinyin是一款elasticsearch拼音分词插件
2016-08-27 18:22:30
12002
elasticsearch-analysis-lc-pinyin拼音分词器
2016-08-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人