我正在尝试使用mysql构建一个小型搜索引擎,不确定哪个是最好的,希望这样做的简单方法。阅读一些文章,我想我应该在mysql中使用fulltext选项而不是一些like
的东西。
我发现在使用自然模式以及使用布尔模式时存在一些缺点。认为用户使用像Zuckerberg -Facebook
这样的东西会很有趣:
SELECT id,link,title,description,
match(title,description)
against ('+Zuckerberg -Facebook' IN BOOLEAN MODE) as relevance
FROM Links
WHERE match(title,description)
against ('+Zuckerberg -Facebook' IN BOOLEAN MODE)
但布尔模式的相关性始终为1。
另一方面,natural mode
不允许+ or -
作为运算符。
它有50%的门槛限制:/
natural mode
和boolean mode
都有这个最小字长限制,这对于缩写来说有点烦人。
(我知道可以更改最小长度,但如果没有更多的服务器访问则不可能)
我认为可以将mysql like
函数用于缩写,但有没有办法按布尔模式的相关性进行排序?
感谢您的任何提示!