mysql创建搜索引擎,mysql – 如何创建一个小型搜索引擎

注意:如果您不需要存储关键字频率,请使用Marmik Bhatt的LIKE建议.

如果您有大量数据并且只想进行关键字搜索(即您不会搜索短语或使用“近”等概念),那么您只需创建一个关键字表:

CREATE TABLE address

(

id INT(10) PRIMARY KEY,

/* ... */

);

CREATE TABLE keyword

(

word VARCHAR(255),

address_id INT(10),

frequency INT(10),

PRIMARY KEY(word, article_id)

);

然后,您浏览正在“索引”的文本并计算您在那里找到的每个单词.

如果你想做几个关键字:

SELECT address.*, SUM(frequency) frequency_sum

FROM address

INNER JOIN keyword ON keyword.address_id = address.id

WHERE keyword.word IN ('keyword1', 'keyword2', /*...*/)

GROUP BY address.id;

在这里,我已经完成了一个频率和,这可能是一种比较结果有用性的脏方法,当给出很多时.

需要考虑的事情:

>是否要将所有关键字插入数据库中,或仅插入频率高于特定值的那些关键字?如果您插入所有表格可能会变得很大,如果您只插入更高频率的表格,那么您将找不到唯一提及特定单词的文章,但只会这样做一次.>是否要插入特定文章的所有可用关键字或仅插入“顶级”关键字?在这种情况下,危险在于频繁的词语不会增加意思,将开始推动其他人.考虑一下“然而”这个词,它可能在你的文章中比“mysql”多很多次,买它是后者定义的文章,而不是前者.>您是否要排除短于特定字符长度的单词?>你想排除已知的“毫无意义”的词吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值