67,513
社区成员
发帖
与我相关
我的任务
分享
1.我们现在的项目就是一个针对资源的搜索引擎。
一般来说,搜索引擎要有爬虫、索引库、管理、检索,如果是针对资源的还需要有解析器等模块组成。
资源爬取部分是java+Shell脚本,解析部分用的tika,索引和全文检索是基于solr开发的。
基本都是基于Apache开源搭建的。
2.Lucene是一个全文搜索引擎的工具包,单纯用Lucene可以实现全文检索、分词等等这些细节的功能,但是无法成为一个搜索引擎。
Solr底层是基于Lucene实现的一个开源制品,封装了许多例如高亮、文本分析等功能,比单纯用Lucene省去了很多很多繁琐工作。
3. 对于中文搜索来说,需要分词和建立倒排索引。
4. 给你个思路,把字段内容用查询语句连起来,然后在查询条件里用模糊查询,至于要达到搜索引擎的效率,那就要看你的数据量来说了,太多的话考虑用多台数据中心服务器,用云架构综合处理。
模糊查询可参考这里 http://bbs.csdn.net/topics/30436639
5. 可以这样:
1 程序启动时先做一个数据库预处理,将每个关键字段的唯一值各存在一张临时表中。
2 用户输出字符串时,先切分,到临时表中预查。如果没有,此时便有结论了。
3 根据预查的结果(因为已知关键字对应的字段),构造 SQL 再来查询。
(1)就是建立倒排索引的山寨做法。
(2)就是中文分词。
6. larbin爬虫抓取
Lucene倒排索引原理