4
Zend Search Lucene이 범위에서 정수를 어떻게 색인하고 검색하는지에 대한 오해를 파악하는 데 어려움이 있습니다.Zend Search Lucene 수치 범위 검색
다음 예에서 출력은 1이지만 항상 2입니다 (두 결과 모두). 모든 힌트를 많이 주시면 감사하겠습니다.
입니다$doc->addField(Zend_Search_Lucene_Field::Keyword('bar', '100'));
, 정수 대신 문자열을 사용 : 나는 addField을 변경하려고 할 것이다
<?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]')));
젠드 루신을 사용하지 마십시오. 문자 그대로 루씬 포트보다 100 배 이상 느리고, 메모리를 많이 사용하며, 전체 루씬 기능을 지원하지도 않으며, 버그로 가득합니다. 나는 전에 zend lucene를 Solr 달로 바꿨고 결코 되돌아 보지 않았다. –