2010-11-19 131 views
0

我正在使用Zend Lucene爲我的網站構建搜索功能。一切都很好。Zend Lucene詞典範圍搜索返回非相關結果

可以理解,Lucene的確實的搜索字典順序(例如
1,
110,
1111444,
2,
3,
4,
499238492834798,
5,
等)

我已經將我的號碼填充到3位數(範圍從010到990)。

當我對值110到160進行範圍搜索時(例如:fieldname:[110 TO 160]),它將返回040的結果!從邏輯上講,這是錯誤的,因爲所有的數字都以1開頭(儘管它仍然會搜索11,12,13,14,15和16),所以它不應該匹配這個結果!

爲什麼會發生這種情況,如何阻止它發生?

我誤解了Zend文檔。按字典順序排列結果的範圍查詢。但是我的問題依然存在。

回答

1

我無法找出爲什麼這種做法是出於這樣的,所以我在做一個循環:

for ($i = 0; $i < 50; $i + 10) 
{ 
$queryString .= 'fieldname:' . ($term + $i) . ' '; 
} 

創建一個查詢,如:

fieldname:110 fieldname:120 fieldname:130 fieldname:140 fieldname:150 fieldname:160 

這不返回的結果我想要的。