关于match我们已经知道了ES一共提供了8种DSL语法,上篇花了大篇幅的文字介绍了match,这篇将剩余的语法继续讲解下。
ElasticSearch DSL之Match
继续上篇文章继续介绍ES的查询语法。
ElasticSearch DSL之From/Size,Sort
从这篇文章开始,我们要进入DSL的学习。
使用url搜索仅仅是个开始,ES还提供带有查询DSL的请求体用于更高级的搜索。在这些类型的搜索中有大量可选项,可以混合和匹配不同的选项以获得所需的结果。
DSL还能根据查询子句的过滤和查询上下文,使用筛选器的子句以布尔形式测试Document是否匹配筛选器。过滤器通常也比查询快,但是查询也可以根据Document与查询的匹配程度来计算score。
ElasticSearch查询url基本参数(二)
上篇的url基本参数来漏了一个内容,这篇文章从这个开始介绍起。
ElasticSearch查询url基本参数(一)
上一篇文章已经和用ID来发送GET请求来对ElasticSearch的数据进行了特定数据的查询,但ES的强大肯定不会只是有这样简单的API,它有着自己的查询语法来满足多种多样的业务场景,这次就大家介绍下。
官方文档对此的解释:ES提供基于JSON的完整查询Domain Specific Language(特定域语言)来定义查询,其主要由两种类型的句子组成:
1.叶查询子句:叶查询子句查找特定字段中的特定值,例如匹配、术语或范围查询。这些查询可以自己使用。
2.复合查询子句:复合查询子句包装其他叶子或复合查询,并用于以逻辑方式组合多个查询(如bool或dis_max查询),或更改其行为(如constant_score查询)。
怎么样,是不是感觉命名方式和解释很像树?
ElasticSearch的Index和Document基本操作
这篇文章是Elasticsearch基本概念与安装的内容继续。
主要是Index和Document的CRUD操作,建议大家先去找下REST的相关内容阅读下,看下面的内容会更加轻松。
Elasticsearch基本概念与安装
由于现在所在公司的业务范围越来越大,之前的单纯的使用SQL对商品进行搜索已经不能满足要求,目前主流的开源搜索引擎就是ES和Solr,两者都是基于Lucene的二次高阶开发而来。ES相对与solr最显著的优势应该是分布式的部署,另外Solr在建立实时索引时, 会产生io阻塞,性能查询较差,而ES就没有这个问题,我还有看到有人做过统计,随着数据量的增加solr的搜索效率也会随之降低,而ES却没有明显的变化。考虑到业务场景是电商的商品搜索,其中对于商品的库存相对来说实时性还是很重要的,我开始对ES的学习。