Zend Lucene Lexicographical Range搜索返回不相关的结果

时间:2010-11-19 14:25:51

标签: zend-framework zend-search-lucene

我正在使用Zend Lucene为我的网站构建搜索功能。一切都很好。

了解Lucene按字典顺序进行搜索(例如, 1,
110,
1111444,
2,
3,
4,
499238492834798,
5,
等)

我已将我的数字填充为3位数(范围从010到990)。

当我进行范围搜索值110到160(例如,字段名称:[110到160])时,它返回040的结果!逻辑上这是错误的,因为所有数字都以1开头(尽管它仍会搜索11,12,13,14,15和16),所以不应该匹配此结果!

为什么会发生这种情况,如何阻止它这样做?

[编辑] 我误读了Zend文档。范围查询按字典顺序对结果进行排序。但我的问题仍然存在。

1 个答案:

答案 0 :(得分:1)

我无法找出为什么这样做,所以我正在做一个循环:

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

创建一个查询,例如:

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

确实会返回我想要的结果。

相关问题