当我搜索:

SELECT * FROM db.test
WHERE
MATCH(story)AGAINST('(+bananas -banana*)'IN BOOLEAN MODE)


我得到返回的行,但是当我搜索时

SELECT * FROM db.test
WHERE
MATCH(story)AGAINST('(+bananas -bananas)'IN BOOLEAN MODE)


要么

SELECT * FROM db.test
WHERE
MATCH(story)AGAINST('(+bananas -bananas*)'IN BOOLEAN MODE)


我没有结果。在我看来,您不能同时使用*和减号。
有人知道是这样吗还是在MySql中设置。

亲切的问候
奥列

表格是MYISAM,我在专栏故事中有一个索引。

最佳答案

最后两个查询没有给出任何结果,因为它们包含矛盾的条件-故事必须使用单词“ bananas”,并且不能使用单词“ bananas”。这是不可能的,因此没有结果。

但是,第一个查询意味着必须存在“香蕉”,但不能存在“香蕉”。

另外,您可以在减号运算符中使用*。

希望这可以帮助。

08-28 06:24