0

我想在我的网站上添加搜索。我有一个视频游戏挑战数据库。每个挑战都有一个标题和描述,我希望至少能够搜索描述,但如果可能的话,两者都可以。现在,我已经设置了表格,以便可以使用 MATCH() AGAINST(),但是我遇到了单数或复数单词的问题。

例如,“assists”一词出现在多个挑战中,但如果用户键入“assist”,他将什么也得不到。有什么方法可以添加该功能吗?我已经尝试了我能想到的一切,但到目前为止没有任何效果。

更新:我最近才了解 MATCH AGAINST,所以我不确定在我的情况下使用它的“正确”方式。就像我说的那样,我有一个表,其中有一个名为 的列description,使用上面的示例单词assists,它在表中出现多次,我会使用这个查询:

SELECT * FROM challenges WHERE MATCH(description) AGAINST('assists')

我刚刚执行了它,它返回了 10 行。如果我将其更改为assist,我将一无所获。

4

2 回答 2

0

也许您可以使用 MySQL 中的 SOUNDEX() 函数。

SELECT
  id,
  title
FROM products AS p
WHERE p.title SOUNDS LIKE 'Shaw'

// This wil match 'Saw' etc.

我认为这也可能适用于您,并且他会使用复数形式

于 2011-04-30T15:01:18.547 回答
0

我可能错过了你想要做的事情的重点,但为什么不像这样进行 LIKE 匹配:

SELECT * FROM challenges WHERE description LIKE "%assist%";

这将匹配包含“辅助”和“辅助”的任何内容。当然也会匹配“assistant”和“assistance”,可能不是你想要的……

于 2011-05-01T15:57:18.317 回答