Elasticsearch
Nireus_LOVE
这个作者很懒,什么都没留下…
展开
-
Elasticsearch入门教程之一--基本概念
Elasticsearch入门教程之一–基本概念概述索引检索文档文档类型分片副本概述Elasticsearch基于Lucene(搜索引擎库)的开源搜索引擎,对外提供一系列基于Java和HTTP的API, 目的是通过简单的RESTful API来隐藏Lucene的复杂性。具有以下特点: 支持全文检索 分布式的实时文件存储,每个字段都被索引并可被搜索原创 2016-05-16 10:16:33 · 3874 阅读 · 0 评论 -
Elasticsearch源码分析十--调用Lucene查询分析器Analyzer
Elasticsearch源码分析十–调用Lucene查询分析器Analyzer概述查询语法源码分析概述Elasticsearch的查询语句中的一些域需要进一步调用Analyzer分析器进行分析,比如fuzzy_like_this查询、fuzzy_like_this_filed查询、more_like_this查询、more_like_this_field查询、multi_原创 2016-05-12 16:04:24 · 1804 阅读 · 0 评论 -
Elasticsearch源码分析一--调用Lucene查询接口之match_all查询
Elasticsearch调用Lucene查询接口源码分析一:match_all查询match_all查询简介代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q插入链接 Ctrl + L插入代码 Ctr原创 2016-05-10 10:09:26 · 3805 阅读 · 0 评论 -
Elasticsearch源码分析二--调用Lucene查询接口之常用词查询
Elasticsearch调用Lucene查询接口源码分析二:常用词查询简介查询语法源码分析简介match_all查询是Elasticsearch中最简单的查询之一。它使我们能够匹配索引中的所有文件。 可以在查询中包含加权值,它将赋给所有跟它匹配的文档查询语法例1:得到索引中的所有文档,可以发送以下查询: { “query” : { “match_原创 2016-05-10 11:00:37 · 2189 阅读 · 0 评论 -
Elasticsearch源码分析三--调用Lucene查询接口之词条查询
Elasticsearch调用Lucene查询接口源码分析三:词条查询简介查询语法源码分析简介词条查询是Elasticsearch中的一个简单查询。它仅匹配在给定字段中含有该词条的文档,而且是确切的、未经分析的词条。 记住,词条查询是未经分析的,因此需要提供跟索引文档中的词条完全匹配的词条。 多词条查询允许匹配那些在内容中含有某些词条的文档。查询语法例1:查询title字段中含有crim原创 2016-05-10 13:41:29 · 1930 阅读 · 1 评论 -
Elasticsearch源码分析四--调用Lucene查询接口之通配符查询
Elasticsearch调用Lucene查询接口源码分析四:通配符查询简介查询语法源码分析简介支持两种通配符:问号(?)和星号()。可以使用问号(?)来进行单字符的通配符查询,或者利用星号(*)进行多字符的通配符查询。查询语法例1,搜索 tiny 或者 tony,可以使用查询语句 “t?ny”: { “query” : { “wildcard” : {原创 2016-05-10 14:09:10 · 3029 阅读 · 0 评论 -
Elasticsearch源码分析五--调用Lucene查询接口之模糊查询(Fuzzy)
Elasticsearch调用Lucene查询接口源码分析五:模糊查询简介查询语法源码分析简介模糊查询是基于编辑距离算法来匹配文档。编辑距离的计算基于我们提供的查询词条和被搜索文档。此查询很占用CPU资源。可以在搜索词的尾部加上字符 “~” 来进行模糊查询。查询语法例如,查询语句 “think~” 返回所有包含和 think 类似的关键词的文档。增量因子(boost factor)为0.2。原创 2016-05-10 14:58:43 · 4293 阅读 · 0 评论 -
Elasticsearch源码分析六--调用Lucene查询接口之前缀查询(Prefix)
Elasticsearch调用Lucene查询接口源码分析六:前缀查询(Prefix)简介查询语法源码分析简介前缀查询在配置方面来说跟词条查询类似。前缀查询能让我们匹配这样的文档:它们的特定 字段以给定的前缀开始。。查询语法例:查找所有title字段以cri开始的文档: { “query” : { “prefix” : { “title” : {原创 2016-05-10 15:20:12 · 2266 阅读 · 0 评论 -
Elasticsearch源码分析七--调用Lucene查询接口之范围查询
Elasticsearch调用Lucene查询接口源码分析七:范围查询简介查询语法源码分析简介范围搜索匹配某个域上的值在一定范围的文档。范围查询可以包含或者不包含最大值和最小值,排序是按照字典顺序来排序的。范围查询使我们能够找到某一字段值在某个范围里的文档,字段可以是数值型,也可以是基于字符串的(将映射到一个不同的Apache Lucene查询)。 范围查询只能针对单个字段,查询参数应封装原创 2016-05-10 15:42:59 · 2372 阅读 · 1 评论 -
Elasticsearch源码分析八--如何根据查询语句确定查询类型并解析查询语句
Elasticsearch源码分析八–如何根据查询语句区分查询类型问题描述源码分析问题描述已知查询query如下,Elasticsearch如果根据该字符串判断是哪种查询类型 { wildcard:{ “name.first”:”sh*” } }源码分析'''(1)测试代码'''public void testWildcardQuery() thro原创 2016-05-11 17:26:03 · 7193 阅读 · 0 评论 -
Elasticsearch源码分析九--查询解析器QueryParser注册过程
Elasticsearch源码分析九:查询解析器QueryParser注册过程QueryParser及其子类用于对输入的查询query进行解析,返回Query类的对象,代表具体的查询类。源码分析'''(1)添加Query解析器及Filter解析器的对象'''public class IndicesQueriesModule extends AbstractModule { protected原创 2016-05-11 18:00:20 · 2609 阅读 · 0 评论 -
Elasticsearch源码分析十二--过滤器
Elasticsearch源码分析十二–过滤器概述查询语法源码分析概述有时我们可能要在不影响最后分数的情况下,选择索引中的某个子集,这就要使用过滤器。应该尽可能使用过滤器。过滤器不影响评分,而得分计算让搜索变得复杂,而且需要CPU资源。另一方面,过滤是一种相对简单的操作。由于过滤应用在整个索引的内容上,过滤的结果独立于找到的文档,也独立于文档之间的关系。过滤器很容易被缓存,从而进一步提高过滤原创 2016-05-13 16:02:30 · 1642 阅读 · 0 评论 -
Elasticsearch源码分析十三--高亮显示highlight
Elasticsearch源码分析十三–高亮显示highlight简介查询语法源码分析简介高亮显示是在结果文档中显示查询中的哪个或哪些单词被匹配的过程。 Elasticsearch底层使用Apache Lucene。 Lucene提供了三种类型的高亮实现: 第一种是标准类型(本文例子);第二种叫FastVectorHighlighter, 它需要词向量和位置才能工作;第三种叫Posti原创 2016-05-16 09:46:52 · 12686 阅读 · 1 评论 -
Elasticsearch源码分析十四--搜索类型
Elasticsearch源码分析十四–搜索类型简介query_then_fetchquery_and_fetchdfs_query_and_fetchdfs_query_then_fetchcountscan简介Elasticsearch允许通过指定搜索类型来选择查询在内部如何处理。不同的搜索类型适合不同的情况;可以只在乎性能,但有时查询的关联性可能是最重要的因素。使用search原创 2016-05-16 09:56:51 · 2994 阅读 · 0 评论 -
Elasticsearch源码分析十一--查询分析器Analyzer注册过程
Elasticsearch源码分析十一–查询分析器Analyzer注册过程概述源码分析概述Elasticsearch的Analyzer、Tokenizer、TokenFilter的注册过程类似,并且在各自的Factory方法中都会创建Lucene相应的具体实例对象。具体过程参考源码分析部分。 Elasticsearch在处理查询语句时,根据查询语句中指定的分析器名字,找到相应的工程方法,从而原创 2016-05-12 18:15:30 · 1663 阅读 · 0 评论