我的索引中有一堆 int 键字段,并尝试像这样进行简单的范围搜索:
`gender:1 AND height:[120 TO 180]`
这应该给我身高 120 到 180 之间的男性。但由于某种原因,我得到了这个例外:
`At least one range query boundary term must be non-empty term`
我将如何调试这个?只是 Zend_Search_Lucene 有问题吗?
我的索引中有一堆 int 键字段,并尝试像这样进行简单的范围搜索:
`gender:1 AND height:[120 TO 180]`
这应该给我身高 120 到 180 之间的男性。但由于某种原因,我得到了这个例外:
`At least one range query boundary term must be non-empty term`
我将如何调试这个?只是 Zend_Search_Lucene 有问题吗?
这是Zend 框架的查询解析器中的一个开放错误。创建于 2008 年 12 月,具有高优先级……但仍未解决。
首先,您必须将默认 Analyzer 更改为 TextNum 以在查找之前允许数字
ZF2:
\ZendSearch\Lucene\Analysis\Analyzer\Analyzer::setDefault(new \ZendSearch\Lucene\Analysis\Analyzer\Common\TextNum\CaseInsensitive());
其次,您的日期字段必须是关键字,而不是文本。