我的索引中有一堆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是错误的吗?
答案 0 :(得分:0)
这是Zend Framework的查询解析器中的an open bug。创建于2008年12月,具有高度优先级......但仍未解决。
答案 1 :(得分:0)
首先,您必须在找到
之前将默认分析器更改为TextNum以允许数字ZF2:
\ZendSearch\Lucene\Analysis\Analyzer\Analyzer::setDefault(new \ZendSearch\Lucene\Analysis\Analyzer\Common\TextNum\CaseInsensitive());
其次,您的日期字段必须是关键字,而不是文本。