Java程序如何模糊匹配access数据库,然后access返回一个相应值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java程序如何模糊匹配access数据库,然后access返回一个相应值相关的知识,希望对你有一定的参考价值。

我想实现一个功能: 利用Java程序实现用户的输入的值与access数据库的字段模糊匹配,然后从access中返回相应的值输出。 比方说: 1. 用户输入“您好啊!”,然后数据库中“您好”匹配了,access中返回“您好,我是***!”; 2. 或者用户输入“什么什么下雨什么什么”,access中匹配相应的“下雨”,然后返回“赶快回家收衣服咯!”。 类似这样的匹配,然后返回相应的输出功能。 请高手能够给出代码并附带注释,然后有程序说明,谢谢了!

参考技术A 1.首先建立一个access数据库;
2.与数据库建立联接;
3.SQL语言采用模糊查询;
4.执行查询并返回结果。
参考技术B 这个要用到分词技术用"java 分词"关键字google一下有很多这方面的资料

关键字模糊匹配

关键词模糊匹配,如候选词集合为{‘我爱北京天安门’,‘北京西站’,‘上海外滩’},输入‘北京’,要匹配出{‘我爱北京天安门’,‘北京西站’}

想到了如下几种方法:

1. 正则法

将所有关键词集合存入数组或字典中,然后用关键字进行正则匹配。

效率略慢,400万候选词的话,约用时4s

 

2.reids法

有两种子方法

  • keys命令模糊匹配
keys *北京*

 官方不推荐这种做法

  • sscan命令模糊匹配
SSCAN myset 0 MATCH *北京* COUNT 4000000

400万候选词的话,约用时7s

 

3.mysql法

将关键词集合存入mysql,用like的方式匹配

效率低,400万候选词的话,用时约10s以上

 

4.分词建索引

实现较难,没有实践经验

以上是关于Java程序如何模糊匹配access数据库,然后access返回一个相应值的主要内容,如果未能解决你的问题,请参考以下文章

java中是如何实现基于文字标题的模糊匹配的,下面的代码是啥意思啊...

Hbase能模糊查询吗,类似like

java中是如何实现基于文字标题的模糊匹配的,下面的代码是实现这个功能的吗?

oracle中如何使用like来进行模糊匹配

java模糊匹配 字符串匹配某个字符串

java中PreparedStatement执行带参数的sql语句如何实现模糊查询?