2015-12-22 20 views
0

由於我沒有任何表格足夠全面地測試,所以我提出了關於Sphinx和Pipes/Or與顯式排列的一般性能問題。換句話說是在它們之間的性能差異:VSPipes vs Sphinx中的顯式表達式性能問題

(A1|A2|A3|B1|B2|B3|C1|C2|C3) 

(A|B|C|)(1|2|3|) 

因爲在他們尋找相同排列的一天結束了嗎?

回答

0

要使(A|B|C)(1|2|3)正常工作,您需要爲索引添加min_word_len = 1,這會增加索引大小並可能會影響性能。

對於(A1|A2|A3|B1|B2|B3|C1|C2|C3)你需要min_word_len = 2這將減少索引大小。

但是如果你已經有min_word_len = 1比這些應該不會影響性能。

請確保(A|B|C)(1|2|3)正在搜索(A OR B OR C) AND (1 OR 2 OR 3),因此它並不總是尋找相鄰的單詞。所以更好的方法是使用(A1|A2|A3|B1|B2|B3|C1|C2|C3)

謝謝

+0

A | B等只是爲了表明任何給定的詞/術語。我對(紅色|白色|藍色)(方形|圓形|三角形)與(紅色方塊|紅色圓圈}紅色三角形| ... |藍色三角形)的表現更感興趣。我確實得到,如果我需要他們作爲條款我需要add'l查詢參數在這種情況下我真的想通過指定每個排列(這使我更多的控制)查看任何性能在查詢中,看起來似乎構建更高效的施工。如果我有左邊10個條款和右邊10個條款,我必須提出100個不同的條款;這會影響搜索時間嗎? – user3649739