我最近在做一个网站德前端,它有个要求就是要做网站内搜索,功能大概就是类似博客园这个网站的 "找找看" 那个功能,但是我不知道从何下手,没有什么概念,上网找了找就是用Lucene做全文查询,请问大牛给点思路,从何下手;
1 首先你应该了解,全文检索的原理——倒排索引,即给每个关键词建立一个跟文章有关的哈希表,然后通过这个关键词就能搜索出相关的文档,进行显示。
2 既然了解了Lucene,那么你应该知道它的基本原理,就是在某个文件中记录倒排索引,然后定期的合并索引,避免文件膨胀
3 想要入门的话,你可以使用基本的LuceneAPI,试试,当然一般是不推荐直接使用Lucene的,因为开发工作量巨大。推荐使用Elasticsearch,它提供了强大的rest API以及分布式特性,能快速的实现全文检索。
4 基本的思路:
读取想要进行全文检索的文章,进行分析(此时就需要考虑分词器了)
把分析出的关键词进行倒排索引
通过关键词检索关键信息(因为可能存储很多的东西,因此也会查出很多东西,取舍就看楼主自己了)
显示关键信息(比如显示标题和前200个字)
最后推荐我之前整理的关于lucene的文章:
简单的可以去看下阿里云的开放搜索服务,简单方便
sql server就可以全文检索,你查一下怎么用就可以了