全文检索(Lucene&Solr)

Posted xdzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全文检索(Lucene&Solr)相关的知识,希望对你有一定的参考价值。

全文检索(Lucene&Solr)

1)什么是全文检索?为什么需要全文检索?

结构化数据(mysql等)方便查询,而非结构化数据(如多篇文章)是难以查询到自己需要的,所以要使用全文检索。

全文检索:将非结构化数据的内容提取一部分,然后重新组织,使其有一定结构,然后就能以此快速的查找需要的信息,提取整理后的信息称之为索引

应用:如淘宝,京东的搜索商品;百度的索引引擎

2)原始文档:互联网上的网页,数据库中的数据,磁盘上的文件

索引库:索引+原始文档

语汇单元:一个term就是一个单元

 

3)步骤

创建文档对象:将一个非结构化数据的属性(称为域,如文档名称与路径等)提取出来

 

分析文档:去除文档的一些标点符号与一些没意义的词,其他的单词每个设置为特定的term,term的名称就是这些个单词

 

创建索引:将这些term作为索引

 

保存索引和文档到索引库

 

搜索》创建查询》执行查询》渲染结果

 

4)通过索引找到的结果可能有多个,他们是怎样排序的呢?

通过索引找到的数据,谁出现的索引词汇数量比较多就排在去前面

 

还有一种是反向查询,先查找内容,再查询文本属性,这就比较慢了

 

5)mysql数据库往往满足不了高级的搜索;所以使用全文搜索

Lucene实现站内搜索工作量比较大,性能维护都不好;

所以当下最优的方案是Solr,它提供了较为完备的搜索引擎解决方案

以上是关于全文检索(Lucene&Solr)的主要内容,如果未能解决你的问题,请参考以下文章

lucene&solr全文检索_5索引的维护

lucene入门&Solr

lucene&solr全文检索_3查询索引

lucene&solr全文检索_4改进

Web-第二十八天 Lucene&solr使用一悟空教程

全文检索引擎:solr lucene