Sphinx支持搜索某些特殊字符,需要把那些特殊字符添加到Sphinx配置文件的charset_table中。
添加Unicode碼,否則類似#在Sphinx看來是註釋的字符將無法添加到charset_table當中。
例如:
-----------------------------------------------------------------------------------------------------------------------------------------------
用sphinx進行索引並搜索的時候出現了以下情況:
1.搜索“C#”出來的卻是包含“C”的記錄
2.搜索“C#源碼”出來的卻是包含“C*源碼”的記錄,這裏的*代表任意字符,而把中間的#給忽略掉了
修改:
我們打開sphinx索引的配置文件,找到“charset_table = ”,在裏面增加“U+0023”其中“0023”是“#”的16進制ASCII值。
如需其他字符相應添加即可。
忽略某些字符:
ignore_chars=
-
#忽略掉-,即搜索“abc-def”的時候出現“abcdef”的結果。
-----------------------------------------------------------------------------------------------------------------------------------------------
資料:
Unicode碼查詢地址http://www.unicode.org/charts/
ASCII碼對應的Unicode的鏈接是:http://www.unicode.org/charts/PDF/U0000.pdf