【搜索整理】Sphinx支持搜索某些特殊字符

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章