Zend ara Lucene sayısal aralığı arananlar

1 Cevap php

Ben zorluk aralıkları nasıl Zend ara Lucene indeksler ve arama tamsayılar benim yanlış anlama belirleyen yaşıyorum.

Aşağıdaki örnekte, ancak (her iki sonuç) her zaman 2, çıkış 1 olması beklenir. Herhangi bir ipuçları çok takdir.

<?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]')));

1 Cevap

Ben AddField komutları değiştirmeyi denemek istiyorum:

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

Yerine bir tamsayı bir dize kullanabilirsiniz vardır. Bu işe yaramazsa, belki Zend_Search_Lucene_Field::Text türünü kullanmanız gerekir.