mysql中算法_mysql数据库能否实现如下的算法

我想做一个针对mysql数据库的搜索引擎,以下是我的构想首先,当用户输入一个进行查找的字符串时,php代码产生4个数组,分别代表4个“优先级”,且这4个数组被储存在一个二维数组中(这...

我想做一个针对mysql数据库的搜索引擎,以下是我的构想

首先,当用户输入一个进行查找的字符串时,php代码产生4个数组,分别代表4个“优先级”,且这4个数组被储存在一个二维数组中(这些我已经用php实现,关键是后面mysql数据库的操作)

假设我产生的4个数组是这样的(每个数组中只有一个元素)

1、aaa

2、bbb

3、ccc

4、ddd

假设进行查找的表是这样的一个表,auto为表的auto_increment字段,content为查询面向的字段

auto content

1 dddcccbbb

2 cccaaabbb

3 aaaaaabbb

4 ddddddccc

5 bbbdddaaa

这时,每行的相似度开始都为0,content中出现一个aaa(也就是第一个数组中的元素)则相似度加1000,出现一个bbb则相似度加100(也就是第二个数组中的元素,以此类推)出现一个ccc加10,一个ddd加1。当计算好后根据这个相似度进行排列。

这样,那个auto为3的字段被排在最前面因为它有两个aaa和一个bbb,所以它的相似度为1000+1000+100=2100,高于其他任何行。

Ps:我希望这个过程完全由mysql完成而不要用php,因为听说这样占用的系统资源少。当mysql处理好后我会用php的mysql_fetch_array()函数直接获取查询结果并直接输出

顺便想问一下是否让mysql来完成这种过程比让php来完成这种过程更节省系统资源?

当然,上述的仅是本人对于搜索引擎查找的一个逻辑结构构想,如果有更好的逻辑结构或者更简单的方法,请不吝赐教。

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值