【发布时间】:2011-11-05 16:45:56
【问题描述】:
我正在尝试为基于库存的网站创建搜索引擎。问题是我在 bbtags 中有信息(如在[b]test[/b] sentence 中,test 的值应为3,而sentence 的值应为1)。
以下是索引示例:My test sentence, my my(SKU 为 TST-DFS)
数据库:
|Product| word |relevancy|
| 1 | my | 3 |
| 1 | test | 1 |
| 1 |sentence| 1 |
| 1 | TST-DFS| 10 |
但是如果用户输入TST DFS,我将如何匹配TST-DFS?我希望该 SKU 具有 8 的相关性,而不是完整的 10..
我听说 MySQL 中的全文搜索功能会有所帮助,但我似乎找不到一个好的方法来做到这一点。我想避免使用 UNIONS 之类的东西,并尽可能优化查询。
任何有关为此提出一个好的系统的帮助都会很棒。
谢谢, 最大
【问题讨论】:
-
你不能使用 MySQL 的
FULLTEXT功能吗,或者这就是你所说的“索引”的意思? -
问题是我有很多重要的信息,但 MySQL 的 FULLTEXT 不知道它很重要(如 sku 编号、产品名称和其他某些单词)。所以我对每个产品中的每个词都进行了索引,我不相信 MySQL 的 FULLTEXT 会帮助我搜索每一行。
-
哦,对了。据我所知,不,
FULLTEXT根本没有用。真的很遗憾,因为它是 MySQL 的精彩部分。 -
确实如此,我希望它也有助于搜索单词索引。我也许可以将它用于内容页面(关于我们、联系方式等),那会很好。
-
你可以写一个自定义的full text parser plugin 来做你想做的事。