它看起来MySQL的全文索引不索引单词“C#”。 可能是因为字符“#”被删除,而你留下的是C,这太短而无法索引。
我的问题是,我将如何去索引'C#',以便它可以在我的FullText索引中search?
谢谢,
约翰
我认为这可以通过调整ft_min_word_len系统variables来解决,该variables用于设置要编制索引的单词的最小长度。 将此值设置为2。 更多信息在这里 。
我不知道有这样做的方式,并且在它周围search似乎被接受为MySQL中全文search的限制。
我想你已经考虑过了,但以防万一:在将数据存储到数据库之前,您可以编码不可search的字符。 所以C#将成为C.Sharp,C ++将成为C.Plus.Plus等
你可以通过升级ft_min_word来允许2个字符,默认情况下这个字符被设置为4个字符,这对大多数人来说是一个小小的多,3个会更合适。 我有我的设置为2。
同样在MySQL全文的configuration文件中,你可以改变被忽略的单词列表。 我还没有在自己的身边,但是你可能会发现#是被忽视的单词/符号之一。