2010-12-16 54 views
2

我想知道獅身人面像引擎是否可以使用任何分隔符(比如普通MySQL中的逗號和句點)。我的問題來自衝動,根本不使用它們,而是爲了逃避它們,或者至少它們在用FULLTEXT搜索執行MATCH操作時不會衝突,因爲我在默認情況下在MySQL中處理它們時遇到了問題,而我寧願不要被任何其他角色替換這些分隔符以提供一組好的結果。獅身人面像 - 分隔符

對不起,如果我說的東西很愚蠢,但我沒有經驗與獅身人面像或其他補充(?)搜索引擎。

給你舉一個例子,如果我執行與

"Passat 2.0 TDI" 

MySQL的默認搜索將確定在這種情況下,作爲一個分隔符,因爲「2」期間和「0」太短在默認情況下被視爲單詞,結果會有點混亂。

使用獅身人面像(或其他搜索引擎)很容易處理嗎?我接受建議。

這是一個大型項目,可能有超過500.000條記錄(根本不是微不足道的)。

乾杯!

回答

1

可以有效地控制哪些字符通過指定特定sphinx indexcharset table分隔符。

如果從字符集表中排除字符,它將有效地用作分隔符。如果你在charset表格中指定它(甚至是U + 0020的空格),它將不再作爲分隔符,並且會成爲你的令牌字符串的一部分。

每個索引(使用一個或多個sphinx data sources)可以具有不同的字符集表以提供靈活性。

注意:如果你想想要單個字符的單詞,你可以指定每個sphinx索引的min_word_len

+0

感謝您的回覆。我已經知道了這一點,並選擇了另一種溶劑,但這幾乎是你說的:) – yoda 2010-12-22 22:53:27

0

這可能是the documentation的最佳部分。獅身人面像爲全文引擎主要是它的高度可調它是如何處理的短語,以及如何傳遞它們。

+0

這並不回答我的問題。 – yoda 2010-12-17 15:05:02