如何进行Elasticsearch检索分类

发布时间:2021-11-23 16:26:17 作者:柒染
来源:亿速云 阅读:158

这篇文章将为大家详细讲解有关如何进行Elasticsearch检索分类,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Elasticsearch中当我们设置Mapping(分词器、字段类型)完毕后,就可以按照设定的方式导入数据。 

有了数据后,我们就需要对数据进行检索操作。

0、检索概览

检索子句的行为取决于查询应用于过滤(filter)上下文还是查询/分析(query)上下文。

过滤上下文——对应于结构化检索 
1)核心回答的问题是:“这个文档是否符合这个查询条款?” 

2)答案是简单的是或否,不计算分数。 

3)过滤器上下文主要用于过滤结构化数据。类似于Mysql中判定某个字段是否存在: 
例如: 

  1. 时间戳字段:是否属于2015年或2016年?

  2. 状态字段:是否设置为“已发布”? 

经常使用的过滤器将被Elasticsearch自动缓存,以加快性能。

分析上下文——对应于全文检索 
1)核心回答了“本文档与此查询子句是否匹配?”的问题。 

2)除了决定文档是否匹配之外,查询子句还会计算一个_score,表示文档与其他文档的匹配程度。

综合应用场景如下:

GET /_search
{  "query": {  "bool": {  "must": [
  { "match": { "title": "Search" }},
  { "match": { "content": "Elasticsearch" }}
  ],  "filter": [
  { "term": { "status": "published" }},
  { "range": { "publish_date": { "gte": "2015-01-01" }}}
  ]
  }
  }
}

以上检索,title中包含"Search”并且content中包含 “Elasticsearch”,status中精确匹配”published”,并且publish_date 大于“2015-01-01”的全部信息。

以下,以“脑图”的形式直观展示检索分类。 
如何进行Elasticsearch检索分类 
其中,3-7随着我开发深入再做更新。

关于如何进行Elasticsearch检索分类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 《从Lucene到Elasticsearch:全文检索实战》
  2. 《从Lucene到Elasticsearch:全文检索实战》学习笔记五

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

elasticsearch

上一篇:学Python能干什么工作

下一篇:c语言怎么实现含递归清场版扫雷游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》