Php Zend搜索Lucene数值范围搜索

Php Zend搜索Lucene数值范围搜索,php,zend-framework,lucene,Php,Zend Framework,Lucene,我很难确定我对Zend如何搜索Lucene索引和搜索范围内整数的误解 在下面的示例中,我希望输出为1,但它始终为2(两个结果)。如有任何提示,将不胜感激 <?php require_once 'Zend/Loader/Autoloader.php'; $loader = Zend_Loader_Autoloader::getInstance(); $search = Zend_Search_Lucene::create('test.index'); $doc = new Zend_S

我很难确定我对Zend如何搜索Lucene索引和搜索范围内整数的误解

在下面的示例中,我希望输出为1,但它始终为2(两个结果)。如有任何提示,将不胜感激

<?php

require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();

$search = Zend_Search_Lucene::create('test.index');

$doc = new Zend_Search_Lucene_Document();
$doc->addField(Zend_Search_Lucene_Field::Text('foo', 'Hello'));
$doc->addField(Zend_Search_Lucene_Field::Keyword('bar', 100));
$search->addDocument($doc);

$doc = new Zend_Search_Lucene_Document();
$doc->addField(Zend_Search_Lucene_Field::Text('foo', 'Hello'));
$doc->addField(Zend_Search_Lucene_Field::Keyword('bar', 200));
$search->addDocument($doc);
$search->commit();

var_dump(count($search->find('foo:Hello AND bar:[050 TO 150]')));

我会尝试将addField命令更改为:

$doc->addField(Zend_Search_Lucene_Field::Keyword('bar', '100'));

也就是说,使用字符串而不是整数。如果这不起作用,也许您应该使用
Zend\u Search\u Lucene\u字段::Text
type。

不要使用Zend-Lucene。它确实比其他Lucene端口慢100倍以上,占用更多内存,甚至不支持完整的Lucene功能集,并且充满了bug。几个月前,我用索尔取代了泽德·卢森,从此不再回头。