各位大拿好,我有个商品表,商家表,客户端搜索时,支持关键字:商品名、商品描述、商家名。
目前使用的sql server 2008 r2中的全文目录,匹配的准确度不高。想要使用lucene作为索引库,协助提升检索的准确度。多方搜索资料后,知道lucene只能存储文本数据。目前有个想法,求教下给是否可行:
1、联合商品和商家表,检索出需要用于搜索的字段列,包含商品和商家的主键,写入lucene的索引库。
2、客户端通过关键字搜索时,先在lucene中检索到匹配的商品或者商家主键
3、根据搜索结果中的商品、商家主键,再到数据库中select出客户端需要展示的字段信息
这是我想法,不知道可行否,数据行目前在110万左右。
求教啦
您好,我做过的Lucene.net 数据库中有800多万的数据。你可以选择自己写接口从数据库中获取文档再存入索引中。不知道你数据库中每条记录的大小,但是我觉得肯定不会大。这个时候我会建议你直接把商品的信息都存入索引,无需查出来再从数据库中调取,这样会影响速度。110万左右的商品数据,粗略估计5,6个G差不多吧、这些索引量对于Lucene来说绰绰有余。
-----------------------更新-------------------------------
如果你的数据库中有图片或者其他非文本的数据的话,可以考虑转成二进制,因为Lucene新版本中索引的储存方式都是二进制储存的。这样可能会有点麻烦。
感谢您的回复,在研究Lucene.net的时候偶然发现了, 国内大神开源的HubbleDotNet,正在研究,好像比Lucene.net要牛逼。
@OriginalCobra: 好的,我也要研究研究,看看是不是比Lucene还厉害。
@Shendu.cc: 我下载了hubble的源代码,这个开源很久没有更新了。正在研究怎么部署
@Shendu.cc: 我有些想要放弃Hubble啦,看作者的博客各种牛逼于Lucene,但是N久没有维护。现在啥资料也找不到,到目前为止还没跑起来,也没有安装包,蛋疼啊。。
打算研究下那位仁兄提到的solr
@OriginalCobra: solr 和elasticsearch 是两个基于Lucene的搜索引擎框架。用的人挺多的。
@Shendu.cc: 您说的这两个,在.net的环境下也好使吗?
@OriginalCobra: 好使的。
@Shendu.cc: 好的,正在研究,感谢您多次的回复和指导
@OriginalCobra: 没有没有,一起学习。
完全可行
直接使用solr就可以,solr有针对数据库字段索引的组件 【solr也使用了lucene】
感谢您的回复,lucene研究后我就看看solr对比下