[ElasticSearch]精确值与全文文本

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: Elasticsearch中的数据可以大致分为两种类型:精确值和全文文本。1. 精确值(Exact values)精确值是精确的,正如它的名字一样。

Elasticsearch中的数据可以大致分为两种类型:精确值和全文文本。

1. 精确值(Exact values)

精确值是精确的,正如它的名字一样。比如一个日期或一个用户ID,也可以包含精确的字符串,比如用户姓名或邮件地址。精确值"Foo"不同于和精确值"foo"。同样,精确值2014和精确值2014-09-15也不相同。

2. 全文文本(Full text)

全文文本,换句话说,是文本化的数据(常常以人类的语言书写),比如一篇Twitter文章或邮件正文等。

备注

全文文本常常被称为非结构化数据,其实是一种用词不当的称谓,实际上自然语言是高度结构化的。问题是自然语言的语法规则是如此的复杂,计算机难以正确解析。例如这个句子:

May is fun but June bores me. 到底是说的月份还是人呢?

3. 对比

精确值是比较容易查询。因为就两个结果,要么匹配,要么不匹配。这类的查询很容易用SQL表达:

WHERE name    = "John Smith"
  AND user_id = 2
  AND date    > "2014-09-15"

而对于查询全文文本数据来说,却有些微妙。我们不只会去询问这篇文档是否满足查询要求,我们还会询问这篇文档与查询的匹配程度如何。换句话说,这篇文档与查询条件的相关度有多高?

我们很少精确的匹配整个全文文本。相反,我们会在全文文本中查询包含查询文本的部分。不仅如此,我们还期望搜索引擎能理解我们的意图:

  • 如果查询"UK",同时也希望能够返回涉及"United Kingdom"的文档。
  • 如果查询"jump",同时也希望能够返回匹配"jumped", "jumps", "jumping"甚至"leap"的文档。
  • 如果查询"johnny walker",同时也希望能够返回匹配"Johnnie Walker"的文档。
  • 如果查询"fox news hunting",同时也希望能够返回有关hunting on Fox News的故事,查询"fox hunting news",也能返回关于fox hunting的新闻故事。

为了方便在全文文本字段中进行这些类型的查询,Elasticsearch首先对文本分析(analyzes),然后使用结果建立一个倒排索引。

参考:https://www.elastic.co/guide/en/elasticsearch/guide/current/_exact_values_versus_full_text.html


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
6月前
|
监控 搜索推荐 安全
面经:Elasticsearch全文搜索引擎原理与实战
【4月更文挑战第10天】本文是关于Elasticsearch面试准备的博客,重点讨论了四个核心主题:Elasticsearch的分布式架构和数据模型、CRUD操作与查询DSL、集群管理与性能优化,以及安全与插件扩展。文中通过代码示例介绍了如何进行文档操作、查询以及集群管理,并强调理解Elasticsearch的底层原理和优化策略对面试和实际工作的重要性。
68 6
|
存储 自然语言处理 搜索推荐
Elasticsearch插件管理(ik分词器、附件文本抽取插件)
Elasticsearch插件管理(ik分词器、附件文本抽取插件)
317 0
|
机器学习/深度学习 数据采集 存储
ElasticSearch 之 文本搜索
ElasticSearch 之 文本搜索
202 0
|
搜索推荐 安全 Oracle
es(Elasticsearch)全文搜索引擎
全文搜索引擎 学习分享
107 0
|
搜索推荐 NoSQL Java
ElasticSearch全文搜索引擎 -Spring Boot操作ES(SpringData概述、Spring Data Elasticsearch、基本操作、ElasticSearch操作文档)
ElasticSearch全文搜索引擎 -Spring Boot操作ES(SpringData概述、Spring Data Elasticsearch、基本操作、ElasticSearch操作文档)
ElasticSearch全文搜索引擎 -Spring Boot操作ES(SpringData概述、Spring Data Elasticsearch、基本操作、ElasticSearch操作文档)
ElasticSearch的精准查询和全文查询的过程
ElasticSearch的精准查询和全文查询
128 0
ElasticSearch的精准查询和全文查询的过程
|
JSON 自然语言处理 数据可视化
如何用Elasticsearch实现Word、PDF,TXT文件的全文内容检索?
如何用Elasticsearch实现Word、PDF,TXT文件的全文内容检索?
如何用Elasticsearch实现Word、PDF,TXT文件的全文内容检索?
|
存储 搜索推荐 Java
全文搜索引擎 Lucene Solr ElasticSearch 关系?
全文搜索引擎是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
全文搜索引擎 Lucene Solr ElasticSearch 关系?
|
Web App开发 存储 JavaScript
💖每天拿出20分钟,带你入门涨薪3k的ElasticSearch全文搜索引擎4️⃣
Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计算数据服务。 Spring Data 可以极大的简化 JPA(Elasticsearch„)的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了 CRUD 外,还包括如分页、排序等一些常用的功能。Spring Data 的官网
172 0
💖每天拿出20分钟,带你入门涨薪3k的ElasticSearch全文搜索引擎4️⃣
|
缓存 自然语言处理 搜索推荐
💖每天拿出20分钟,带你入门涨薪3k的ElasticSearch全文搜索引擎(3)
ElasticSearch中采用标准分词器进行分词,这种方式并不适用于中文网站。因此需要修改ElasticSearch对中文友好分词,从而达到更佳的搜索的效果。而支持中文分词的分词器就是IK分词器。
231 0
💖每天拿出20分钟,带你入门涨薪3k的ElasticSearch全文搜索引擎(3)
下一篇
无影云桌面