- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我完全被这个弄糊涂了。
我目前在一个电子商务网站上工作,并且有一张摆满测试产品的 table 。在此表中有一个名为“name”的字段,它是 TEXT 类型并具有 FULLTEXT 索引。
我插入了几百行虚拟数据,每一行都插入了“测试产品”(不带引号),因为它是“名称”字段中的值。
但是,运行以下命令将返回零结果,即使“产品”一词当前位于每一行的名称字段中也是如此。
从产品中选择名称WHERE MATCH (name) AGAINST ('产品')
我检查了服务器变量,一切都设置为默认值。最小字符数为 4,停用词是默认值等。据我所知,产品不是停用词。
如果我可以提供任何可能有助于找到解决此问题的方法的进一步信息,请告诉我。
非常感谢。
最佳答案
来自 MySQL documentation on Fulltext searches ,您的搜索查询被认为触发了停用词,因为所有行中都存在相关字符串。
The 50% threshold has a significant implication when you first try full-text searching to see how it works: If you create a table and insert only one or two rows of text into it, every word in the text occurs in at least 50% of the rows. As a result, no search returns any results. Be sure to insert at least three rows, and preferably many more. Users who need to bypass the 50% limitation can use the boolean search mode
这里有一个链接可以引用 Boolean Full-Text Searches
关于MYSQL MATCH ... AGAINST 不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16442180/
我是一名优秀的程序员,十分优秀!