我有一個異常文件,它打破了ignore_chars指令的功能。Sphinxsearch ignore_chars和異常工作
我正在使用的示例關鍵字是t-shirt
。
t-shirt
出現在數據庫中。我需要ignore_chars指令來忽略-
,因此用戶可以像tshirt
或t-shirt
那樣進行搜索並獲得相同的結果。
的CALL KEYWORDS('tshirt t-shirt', 'catalog')
結果這裏是
+-----------+------------+
| tokenized | normalized |
+-----------+------------+
| tshirt | TXRT |
| tshirt | TXRT |
+-----------+------------+
要獲得t shirt
映射到上述結果,我已經創建了一個異常文件,該文件是這樣的:
t shirt > tshirt
當我做查詢CALL KEYWORDS('t shirt tshirt t-shirt', 'catalog')
這就是我得到的:
+-----------+------------+
| tokenized | normalized |
+-----------+------------+
| tshirt | TXRT |
| tshirt | TXRT |
| shirt | XRT |
+-----------+------------+
我期望發生的情況是例外文件會將單詞t shirt
重寫爲單個關鍵字tshirt
,並且所有3個標記都具有相同的標準化值。
除了現在在t-shirt
關鍵字-
也是不可忽視的,它只是映射到shirt
,這會導致完全不同的標準化版本比tshirt
。最重要的是,使用上面的任何相關關鍵字搜索返回0結果。
當我取出例外文件時,ignore_chars正常工作,搜索再次爲關鍵字工作。