题记
学习ES的童鞋,都有一个开发一个类似百度的搜索引擎的想法。当然功能不一定是百度、360、谷歌传统的搜索引擎那么强大。
但是,能实现基本的全文检索、指定类型的检索、评分高低优先级排序等等。
那么问题来了,该如何实现?需要什么技术呢?
1、Elasticsearch全文检索系统效果图
注:这张图是从网上down的,我已经实现了上述功能。
(不能截图,原因:你懂的!)
2、Elasticsearch全文检索系统架构设计与实现
2.1 Elasticsearch服务端
作为检索引擎,数据是第一位的。
只有将基础数据存入到ES中,才能提供检索服务。而类似Mysql关系型数据库,初期需要我们:
1)设计库表、库表关联等;
2)基础数据入库(程序入库、手动入库等)。
同样的,
ES的创建索引 == Mysql的库表创建 。(ES6.X最新版本中将去掉type类型)。
ES的Mapping&创建==Mysql的字段设计&创建。
根据不同基础数据类型,
1)如果数据存储在关系型数据mysql或oracle中,可以通过logstash插入数据。
2)如果本地存储,或数据没有格式化。
需要先将数据格式化,格式化为Json文件,继而通过java等语言实现批量插入数