lucene适合海量数据的模糊匹配吗?寻求“类百家姓”在lucene的实现方法?

本文探讨使用Lucene解决数据库中模糊匹配的问题,旨在通过整合两张表中的信息,提高查询效率。涉及Lucene实现思路及具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有这样一个需求:
1,在数据库中有两张表tableA和tableB。

2,tableA中保存有 百家姓(如:赵,钱,孙,李,,,(网络上流行的)痞子蔡,轻舞飞扬......)。

2,tableB中保存存在有会员信息(如:赵本山,钱学森,孙悟空,李阿牛.....等 "字样"(跟tableA有模糊关系)),在tableB中还有其它很多详细的"个人信息"。

3,由于tableB中的信息不够完善,需要补充tableA的一些信息,(像:赵本山小时后的故事,钱家姓的由来.......),
-----现在我们需要把这些信息能合起来的就合起来,不能合起来的也要找出来,
并把它们分别保存在tableOk(找到匹配的)和 tableLose(未找到匹配的)表里去。

大概的表结构如下:(其中tableA中的Xing和tableB中的XingMing存在模糊的对应关系)
《现在的目标就是把两个表建立起关联来》
tableA:
ID Xing History
-------------------------------------
1 赵本山 本山的小时候.....
2 钱学 钱学是我国著名的.....
3 悟空 悟空一个跟斗十万......
4 轻舞飞扬 痞子蔡的小说.......
.............................

tableB:
ID XingMing Phone AGE ....
---------------------------------------------
1 中国赵本山 13800138000 50
2 我国钱学森 13800138000 90
3 神话孙悟空 13800138000 30000
4 山歌李阿牛 13800138000 70
..................................

现在我要整合成tableOK:
ID XingMing Xing Phone AGE History
--------------------------------------------------------
1 赵本山 赵 13800138000 50 赵家的由来是。。
2
.....................................
像用lucene实现,有没有思路???不用分词(词典就是tableA的Xing字段)。

我们用存储过程实现了功能,但MSSQL2000执行后的效果达不到我们的需求,希望能找到更好的实现方式.
---------------------------------------------------------------------
SQL: select tableB.* , tableA.History into tableOK
from tableA,tableB
where
charindex(tableB.XingMing,tableA.Xing)>0----模糊匹配建立联系

----以上是我们在数据库(存储过程)中实现的,但速度很慢,不合要求-------

---------------------------------------------------------------------
结果能实现功能,可性能不行,charindex()太耗时间了,like更不行。
请问用lucene实现的话应该怎样去做??????

问题:
1,把tableA中的”Xing“字段,保存在txt文件中,文本的一行表示一条记录(以此作为字典-Dic.txt)
这样能实现吗?有的话怎样实现?不需要用lucene的话用什么比较好?谢谢

2,遍历tableB中的所有记录(几百万),如果存在:
tableB.XingMing like ‘% Dic.txt.任一行 %’----模糊匹配成功--保存到tableOK。
用lucene是怎样实现的?给个简单例子。谢谢
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值