什么是全文检索
对互联网项目全文检索是常用的技术,什么是全文检索?
全文检索首先将要搜索的目标文档中的词提取出来,组成索引,通过查询索引达到搜索目标文档的目的。 这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)。
整个全文检索过程分为两个过程,索引和搜索。
Elasticsearch
Elasticsearch是一个基于Lucene的高扩展的分布式搜索服务器,支持开箱即用。Elasticsearch隐藏了Lucene的复杂性,对外提供Restful 接口来操作索引、搜索。
突出优点:
1.扩展性好,可部署上百台服务器集群,处理PB级数据。
2.近实时的去索引数据、搜索数据。
Elasticsearch和Solr选择哪个?
1.如果你公司现在用的solr可以满足需求就不要换了。
2.如果你公司准备进行全文检索项目的开发,建议优先考虑elasticsearch,因为像Github这样大规模的搜索都在用它。
本教程是燕青老师的课堂视频,内容包括:索引和搜索两大部分。
如果没有学过Lucene的建议学习下,理解下全文检索的原理,这对学习elasticsearch、solr等很有好处。
elasticsearch内容:
学习资源地址:
elasticsearch:http://www.pbteach.com/post/java_distribut/elasticsearch_yq/
Lucene
Lucene是apache下的一个开放源代码的全文检索引擎工具包。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能。
使用Lucene的方法非常简单,引入 Lucene依赖,使用提供的各各API即可 。
Lucene学习资源 :http://www.pbteach.com/post/java_distribut/lucenesolr_yq/