(整理)elasticsearch相关概念

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 参考网址elasticsearch权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.

参考网址

elasticsearch权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

elasticsearch-sql:https://github.com/NLPchina/elasticsearch-sql

ElasticSearch查询:http://www.cnblogs.com/ljhdo/p/4551490.html

ElasticSearch multifields说明:https://stackoverflow.com/questions/40271980/elasticsearch-multi-field-with-raw-value-not-being-created

23种非常有用的ElasticSearch查询例子:https://www.iteblog.com/archives/1741.html


推荐书籍

Elasticsearch服务器开发:https://item.jd.com/11615450.html


数据同步插件

待补充


index和type的概念

http://www.bayescafe.com/database/elasticsearch-using-index-or-type.html


mapping概念介绍

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html


ES和mysql概念对比

一个ES集群可以包含多个索引(数据库),每个索引又包含了很多类型(表),类型中包含了很多文档(行),每个文档又包含了很多字段(列)。

传统数据库为特定列增加一个索引,例如B-Tree索引来加速检索。Elasticsearch和Lucene使用一种叫做倒排索引(inverted index)的数据结构来达到相同目的。

倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。


关于全文查询和词条查询的说明

尽管所有的查询都会执行某种程度的相关度计算,并不是所有的查询都存在解析阶段。除了诸如bool或者function_score这类完全不对文本进行操作的特殊查询外,对于文本的查询可以被划分两个种类:

基于词条的查询(Term-based Queries)

类似term和fuzzy的查询是不含有解析阶段的低级查询(Low-level Queries)。它们在单一词条上进行操作。一个针对词条Foo的term查询会在倒排索引中寻找该词条的精确匹配(Exact term),然后对每一份含有该词条的文档通过TF/IDF进行相关度_score的计算。

尤其需要记住的是term查询只会在倒排索引中寻找该词条的精确匹配 - 它不会匹配诸如foo或者FOO这样的变体。它不在意词条是如何被保存到索引中。如果你索引了["Foo", "Bar"]到一个not_analyzed字段中,或者将Foo Bar索引到一个使用whitespace解析器的解析字段(Analyzed Field)中,它们都会在倒排索引中得到两个词条:"Foo"以及"Bar"。

全文查询(Full-text Queries)

类似match或者query_string这样的查询是高级查询(High-level Queries),它们能够理解一个字段的映射:

如果你使用它们去查询一个date或者integer字段,它们会将查询字符串分别当做日期或者整型数。

如果你查询一个精确值(not_analyzed)字符串字段,它们会将整个查询字符串当做一个单独的词条。

但是如果你查询了一个全文字段(analyzed),它们会首先将查询字符串传入到合适的解析器,用来得到需要查询的词条列表。

一旦查询得到了一个词条列表,它就会使用列表中的每个词条来执行合适的低级查询,然后将得到的结果进行合并,最终产生每份文档的相关度分值。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
1月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
59 3
|
27天前
|
测试技术 API 开发工具
ElasticSearch核心概念:倒排索引
ElasticSearch核心概念:倒排索引
52 6
|
1月前
|
JSON 关系型数据库 API
ElasticSearch 的概念解析与使用方式(二)
ElasticSearch 的概念解析与使用方式(二)
25 1
|
1月前
|
存储 搜索推荐 Java
ElasticSearch 的概念解析与使用方式(一)
ElasticSearch 的概念解析与使用方式(一)
64 1
|
3月前
|
存储 运维 搜索推荐
运维开发.索引引擎ElasticSearch.倒序索引的概念
运维开发.索引引擎ElasticSearch.倒序索引的概念
53 1
|
5月前
|
存储 搜索推荐 关系型数据库
【搜索引擎】elastic search核心概念
【搜索引擎】elastic search核心概念
52 0
|
存储 机器学习/深度学习 负载均衡
【Elasticsearch】学好Elasticsearch系列-核心概念
【Elasticsearch】学好Elasticsearch系列-核心概念
103 0
|
存储 监控 搜索推荐
ElasticSearch第二讲:ES详解 - ElasticSearch基础概念
ElasticSearch第二讲:ES详解 - ElasticSearch基础概念
241 0
|
存储 SQL 自然语言处理
|
存储 自然语言处理 搜索推荐
ElasticSearch的基本介绍与用途、ElasticSearch中一些基本的概念、倒排索引的基本概念
ElasticSearch的基本介绍与用途、ElasticSearch中一些基本的概念、倒排索引的基本概念
134 1
下一篇
无影云桌面