Подстановочный запрос в Zend Lucene - PullRequest
1 голос
/ 19 января 2010
$index = Zend_Search_Lucene::open("/data/my_index1");

$doc = new Zend_Search_Lucene_Document();

$doc->addField(Zend_Search_Lucene_Field::Text('type','auto'));

$index->addDocument($doc);

$term = new Zend_Search_Lucene_Index_Term('auto*');

$query = new Zend_Search_Lucene_Search_Query_Wildcard($term);

$hits  = $index->find($query);

foreach ($hits as $hit){

    echo $hit->type;

}

После успешного выполнения этого кода необходимо распечатать авто.Но массив $ hit пуст.

В чем причина этого?

Ответы [ 2 ]

1 голос
/ 19 марта 2012

Два года спустя, но вероятная причина в том, что ваши изменения не зафиксированы в индексе. После добавления документа необходимо вызвать метод commit, чтобы сделать его доступным для поиска.

0 голосов
/ 21 января 2010

Возможно, вам здесь нужно меня развеселить, но вы пробовали заменить:

$term = new Zend_Search_Lucene_Index_Term('auto*');

$query = new Zend_Search_Lucene_Search_Query_Wildcard($term);

$hits  = $index->find($query);

с

$hits  = $index->find('auto*');
...