日期:2014-05-17  浏览次数:20787 次

想做一个全系统检索功能求方法求思路
现在呢我想做一个系统全文检索功能。就比如我系统中我输入一个名称可以查询出所有的跟这个有关系的数据出来。简单说就是系统中有很多模块也有很多数据表。客户有这么个要求就是我输入一个词语或者输入一段文字就能够把我系统中所有跟这个有关系的内容都查询出来。不知道有没有什么好的方法或者思路啊!求大神们指点迷津!

------解决方案--------------------
微软都没有把这个功能做好
------解决方案--------------------
可以用Lucene开源代码,你只要用Lucene对所有需要全文检索的内容建立索引,然后就可以实现全文检索,
------解决方案--------------------
Lucene到底好不好用我不好说,这东西火了好久但一直没去用过,我说说我的写法吧,其实很弱智的写法
说白了,你就是想让你的查询变得对应各个字段都能模糊查询,那你写sql的时候就把这个模糊查询的条件都加上……当然这种写法只适用于小的系统,太大的似乎用起来就有点费劲了
------解决方案--------------------
我也没有直接用过lucene,不过lucene应该可以解决你的问题,lucene只是建立索引,你可以把你的数据库表的主键在建索引的时候,一起写入lucene的全文索引中,查找的时候,lucene会把你写入的数据库主键作为结果返回给你,然后你可以根据这些主键建立url,

第4个问题其实比较麻烦,同步不好做,你可以定期建立索引,这样效率比较高,删除的记录可以不处理,等查出结果后再检查相关记录是否被删除了,

引用:
Quote: 引用:

可以用Lucene开源代码,你只要用Lucene对所有需要全文检索的内容建立索引,然后就可以实现全文检索,
如果按照你的想法用lucene的话,那我有个几个问题想请教一下大哥了
1.建一个怎样的索引数据库?
2.然后数据展示就跟百度googe一样。数据之间独立存在。
3.那我的链接如何去给每一条记录?然后去查看信息的详细内容并且要跟系统的查看界面要一直就感觉给每一条数据的链接不好给。
4.还有我数据是可以随时更新和添加还有删除的。那么我的索引库里面的数据也能够及时的进行修改吗?
其实lucene我看过一点就这几个问题不好怎么解决到底这个功能能不实现啊!好郁闷啊!