首页 新闻 会员 周边 捐助

lucene.net 和 sql server 配合使用的求教

0
悬赏园豆:100 [已解决问题] 解决于 2018-04-05 18:08

各位大拿好,我有个商品表,商家表,客户端搜索时,支持关键字:商品名、商品描述、商家名。

目前使用的sql server 2008 r2中的全文目录,匹配的准确度不高。想要使用lucene作为索引库,协助提升检索的准确度。多方搜索资料后,知道lucene只能存储文本数据。目前有个想法,求教下给是否可行:

1、联合商品和商家表,检索出需要用于搜索的字段列,包含商品和商家的主键,写入lucene的索引库。

2、客户端通过关键字搜索时,先在lucene中检索到匹配的商品或者商家主键

3、根据搜索结果中的商品、商家主键,再到数据库中select出客户端需要展示的字段信息

 

这是我想法,不知道可行否,数据行目前在110万左右。

求教啦

< >
分享
最佳答案
1

您好,我做过的Lucene.net 数据库中有800多万的数据。你可以选择自己写接口从数据库中获取文档再存入索引中。不知道你数据库中每条记录的大小,但是我觉得肯定不会大。这个时候我会建议你直接把商品的信息都存入索引,无需查出来再从数据库中调取,这样会影响速度。110万左右的商品数据,粗略估计5,6个G差不多吧、这些索引量对于Lucene来说绰绰有余。

-----------------------更新-------------------------------

 

如果你的数据库中有图片或者其他非文本的数据的话,可以考虑转成二进制,因为Lucene新版本中索引的储存方式都是二进制储存的。这样可能会有点麻烦。

收获园豆:90
Shendu.CC | 老鸟四级 |园豆:2138 | 2018-04-02 09:41

感谢您的回复,在研究Lucene.net的时候偶然发现了, 国内大神开源的HubbleDotNet,正在研究,好像比Lucene.net要牛逼。

您可以看下:http://www.cnblogs.com/eaglet

OriginalCobra | 园豆:37 (初学一级) | 2018-04-05 18:06

@OriginalCobra: 好的,我也要研究研究,看看是不是比Lucene还厉害。

Shendu.CC | 园豆:2138 (老鸟四级) | 2018-04-05 18:30

@Shendu.cc: 我下载了hubble的源代码,这个开源很久没有更新了。正在研究怎么部署

OriginalCobra | 园豆:37 (初学一级) | 2018-04-05 21:47

@Shendu.cc: 我有些想要放弃Hubble啦,看作者的博客各种牛逼于Lucene,但是N久没有维护。现在啥资料也找不到,到目前为止还没跑起来,也没有安装包,蛋疼啊。。

打算研究下那位仁兄提到的solr

OriginalCobra | 园豆:37 (初学一级) | 2018-04-05 22:33

@OriginalCobra: solr 和elasticsearch 是两个基于Lucene的搜索引擎框架。用的人挺多的。

Shendu.CC | 园豆:2138 (老鸟四级) | 2018-04-05 23:19

@Shendu.cc: 您说的这两个,在.net的环境下也好使吗?

OriginalCobra | 园豆:37 (初学一级) | 2018-04-08 09:44

@OriginalCobra: 好使的。

Shendu.CC | 园豆:2138 (老鸟四级) | 2018-04-08 09:50

@Shendu.cc: 好的,正在研究,感谢您多次的回复和指导

OriginalCobra | 园豆:37 (初学一级) | 2018-04-08 10:11

@OriginalCobra: 没有没有,一起学习。

Shendu.CC | 园豆:2138 (老鸟四级) | 2018-04-08 10:17
其他回答(1)
1

完全可行

直接使用solr就可以,solr有针对数据库字段索引的组件 【solr也使用了lucene】

收获园豆:10
2012 | 园豆:21645 (高人七级) | 2018-04-02 08:13

感谢您的回复,lucene研究后我就看看solr对比下

支持(0) 反对(0) OriginalCobra | 园豆:37 (初学一级) | 2018-04-05 18:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册