我在索引
中有这些字段id name genders ages
1 "John Doe and Co." "male male" "18 20"
2 'Mr. and Mrs. Joe Dee' "male female" "25 27"
以下是检索两行的代码
$min_age = '19'
$max_age = '26';
$ages_query = new Zend_Search_Lucene_Search_Query_Range(new Zend_Search_Lucene_Index_Term($min_age, 'ages'), new Zend_Search_Lucene_Index_Term($max_age, 'ages'), TRUE);
$lucene_query = new Zend_Search_Lucene_Search_Query_Boolean();
$lucene_query->addSubquery($ages_query, null);
我只返回第二行。为什么我根据范围查询显然应该返回第一行?
答案 0 :(得分:0)
这是年龄字段的错误格式,你应该分成两个字段
age_from : 18
age_to : 20
查询: -
+age_from:[19 TO *]
+age_to:[* TO 26 *]
我不确定您是否与此问题有关:Zend Lucene and range search on a field with multiple values
但是这个想法是不要将CSV存储到lucene中。