gpt4 book ai didi

mysql - 常用词未出现在全文搜索结果中

转载 作者:行者123 更新时间:2023-11-29 02:22:57 25 4
gpt4 key购买 nike

我正在使用全文搜索我正在制作的网站,以便按相关性对用户搜索查询进行排序。这在解决一个问题方面效果很好。当超过 50% 的时间在我的表中填充搜索词时,该查询将被忽略。我正在寻找一种解决方案,以不忽略表格中超过 50% 的行中的单词。

例如,在我的“items”表中,它可能看起来像这样:

item_name
---------
poster 1
poster 2
poster 3
poster 4
another item

如果用户搜索“poster”,查询将返回 0 个结果,因为它在表中出现的次数太多。我怎样才能阻止这种情况发生?

我试过使用 IN BOOLEAN MODE,但这剥夺了我需要的功能(按相关性排序)。

这是我的 SQL 示例:

SELECT item_title
FROM items
WHERE MATCH(item_title, tags, item_category) AGAINST('poster')

最佳答案

您必须重新编译 MySQL 才能更改此设置。来自 Fine-Tuning MySQL Full-Text Search 上的文档

The 50% threshold for natural language searches is determined by the particular weighting scheme chosen. To disable it, look for the following line in storage/myisam/ftdefs.h:

   #define GWS_IN_USE GWS_PROB

Change that line to this:

   #define GWS_IN_USE GWS_FREQ

Then recompile MySQL. There is no need to rebuild the indexes in this case.

关于mysql - 常用词未出现在全文搜索结果中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28289442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com