使用MariaDB,我的停用词文件中的一个词是“how”。在column1上设置全文索引并执行自然语言查询搜索后,不会返回任何结果。这很好。
select count(*) from myTable where match (column1) against ('how' in natural language mode)
0 results
使用查询扩展时,会返回包含如何返回的结果。这是我在申请中不想要的东西。
select count(*) from myTable where match (column1) against ('how' with query expansion)
+1,000,000 results
有没有办法使用停用词进行查询扩展搜索?
修改
myTable中使用的引擎是MyISAM。 show indexes in table_name
命令显示myTable的column1设置为fullindex。
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
MyTable 0 PRIMARY 1 column1 NULL 1 NULL NULL YES FULLTEXT
这是一个屏幕截图,显示我能够使用实际数据库重现该问题。
以下是show variables like 'ft%'
ft_boolean_syntax = + -><()~*:""&|
ft_max_word_len = 84
ft_min_word_len = 3
ft_query_expansion_limit = 20
ft_stopword_file = /var/www/stopwords