随笔分类 - 分布式搜索引擎ElasticSearch
摘要:笔者在实际生产环境中经常遇到一些大文件的检索,例如一些书籍内容,PDF文件等。今天这篇博客主要来探讨下如何提升ES在检索大文件的一些性能,经验有限,算是一个小小的总结吧! 1、大文件是多大? ES建立索引完成全文检索的前提是将待检索的信息导入Elaticsearch。 项目中,有时候需要将一些扫描件
阅读全文
摘要:1、前言 Elasticsearch有没有类似mysql的distinct的去重功能呢? 1)如何去重计数? 类似mysql: select distinct(count(1)) from my_table; 2)如何获取去重结果。 类似mysql:SELECT DISTINCT name,age
阅读全文
摘要:0、引言 在关系型数据库如Mysql中,设计库表需要注意的是: 1)需要几个表; 2)每个表有哪些字段; 3)表的主键及外键的设定——便于有效关联。 表的设计遵守范式约束,考虑表的可扩展性,避免开发后期对表做大的改动。 Mysql或者Oracle中,修改数据类型相对比较简单,通过命令行或者navic
阅读全文
摘要:本篇博客是对前期工作中遇到ES坑的一些小结,顺手记录下,方便日后查阅。 0、前言 为了讲解不同类型ES检索,我们将要对包含以下类型的文档集合进行检索: 首先,让我们借助 bulk API批量创建新的索引并提交数据。 1、基本匹配检索( Basic Match Query) 1.1 全文检索 有两种方
阅读全文
摘要:1、问题抛出 某个词组在Elasitcsearch中的某个document中存在,就一定通过某种匹配方式把它搜出来。 举例: 输入关键词:道路,能否搜索到这个document呢? 实际应用中可能需要: 1)检索关键词”理解”、”解放”、”道路”、“理解放大”,都能搜出这篇文档。 2)单个的字拆分“治
阅读全文
摘要:前言 Elasticsearch中当我们设置Mapping(分词器、字段类型)完毕后,就可以按照设定的方式导入数据。 有了数据后,我们就需要对数据进行检索操作。根据实际开发需要,往往我们需要支持包含但不限于以下类型的检索: 1)精确匹配,类似mysql中的 “=”操作; 2)模糊匹配,类似mysql
阅读全文
摘要:【01】查询类型: 【02】基本查询和组合查询是参与打分的 1.创建映射: 注意事项:基于上面映射的创建: 对于中文分词器,推荐去Github上搜索: 去github上去寻找这个插件:https://github.com/medcl/elasticsearch-analysis-ik 【02】在上面
阅读全文
摘要:【01】什么是mapping? 首先去看看官方文档,非常重要:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html 【02】映射分为动态映射和静态映射 【03】ES中的nested和object类型;
阅读全文
摘要:在前面的演示中,我们都是基于一次http查询,每次查询都要建立http的三次握手请求,这样比较耗费性能!因此ES给我们提供了基本的批量查询功能,例如如下的查询,注意里面的index是可以任意指明的,不需要都一致 【01】批量查询之_mget操作,如下查询表示指定同时查询索引testdb下的两个typ
阅读全文
摘要:本篇博客是上一篇的延续,主要用来将年前学习ES的知识点做一个回顾,方便日后进行复习和汇总!因为近期项目中使用ES出现了点小问题,因此在这里做一个详细的汇总! 【01】全文检索和Lucene (1)全文检索,倒排索引 (2)lucene,就是一个jar包,里面包含了封装好的各种建立倒排索引,以及进行搜
阅读全文
摘要:Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识和原理以初学者的角度记录下来,如有不当,烦请指正! 0. 带着问题上路——ES是如何产生的? (1)思考:大规模数据如何检索? 如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度
阅读全文
浙公网安备 33010602011771号