搜索
小飞哥wzf
这个作者很懒,什么都没留下…
展开
-
ElasticSearch应用篇-搜索增强
ES有一些非常强大的能力,例如:根据用户搜索的时候,也可以搜索同义词,也可以基于语义进行分词,返回最最适合的结果,ElasticSearch是如何实现这种能力的呢?一、ES搜索与Analyzer1.ES搜索过程为了搞清楚这个问题,我们需要提前搞清楚ES搜索的过程,ElasticSearch的这个能力是由Analyzer来实现的。ES中一个Analyzer处理搜索的过程如下:从这个处理流程可以看到,在token filter会为词条增加一些同义词,这就是ES可以支持同义词搜索的原因所在。2.Ana原创 2020-12-19 13:09:10 · 367 阅读 · 1 评论 -
ElasticSearch应用篇-搜索效果
一、集群搜索问题1.问题:如何聚合多个节点或分片的数据生成返回结果在对Mysql进行分库分表的时候,经常会遇到一个问题:如果查询的数据分散在多张表中,因为涉及到组合多种表的数据,将会非常麻烦;对于有些分页场景,更是一个灾难,所以对Mysql分库分表的时候经常会基于查询维度来尽量避免跨表查询的场景。ElasticSearch也是分布式的,当数据分散与多个节点或者分片上时,他是如何解决数据聚合问题的呢?另外,搜索基本都需要排序,如何解决排序问题呢?2.ES整体流程假设有N个分片,数据可能分散在这N个分原创 2020-12-19 13:07:55 · 228 阅读 · 1 评论 -
ElasticSearch原理篇
一、基本信息1.简介介绍ElasticSearch前我们先预热一些常识,提到非结构化数据的检索的时候,经常听到Lucene、Solr、ElasticSearch,那他们的区别是什么呢?Apache Lucene不是搜索引擎,而是一个开源的搜索引擎工具包,他提供了查询和检索能力。Lucene是为了给开发人员提供一个简单易用的搜索工具包,以方便开发人员的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Solr是一个基于Apache Lucene的高性能企业级搜索引擎,它具有高可转载 2020-12-19 13:05:27 · 683 阅读 · 1 评论