Zend_Search_Lucene не может вернуть документы - PullRequest
1 голос
/ 24 февраля 2010

Я борюсь с ошибкой / проблемой, с которой у меня возникают проблемы при использовании Zend_Search_Lucene. Теперь у меня есть 2 индекса, по которым я выполняю поиск по синтаксическому анализу html страниц / текста и использую функцию Zend_Search_Lucene_Document_Html :: loadHTML () для чтения содержимого и добавления к одному из индексов lucene.

В другом индексе я вручную создаю документ lucene, используя функцию Zend_Search_Lucene_Document (), добавляя в документ поля текста и ключевых слов.

Оба метода добавления данных в мои индексы работают, и с помощью Luke (потрясающий инструмент) для просмотра индексов я вижу разные документы в обоих индексах и могу писать запросы вручную, используя Luke, которые возвращают результаты.

В настоящее время я получаю ошибки при поиске по индексу, содержащему созданные вручную документы. При построении запросов с использованием API запросов, предоставленного в платформе, я получаю ожидаемое количество результатов, однако, когда я пытаюсь получить «Документ» из этого поискового запроса, ничего не возвращается.

Я получаю следующие ошибки

Warning: fseek(): supplied argument is not a valid stream resource in C:\www\mysite\development\website\library\Zend\Search\Lucene\Storage\File\Filesystem.php  on line 93

Warning: fread(): supplied argument is not a valid stream resource in C:\www\mysite\development\website\library\Zend\Search\Lucene\Storage\File\Filesystem.php  on line 158

Warning: flock() expects parameter 1 to be resource, integer given in C:\www\mysite\development\website\library\Zend\Search\Lucene\Storage\File\Filesystem.php  on line 214

Uncaught exception 'Zend_Search_Lucene_Exception' with message 'Field name "itemname" not found in document.'

Если я выполняю поиск по индексам с содержимым HTML и API запросов, я получаю результаты с документами в них, из которых я могу получить некоторые данные документа.

Для обоих запросов я создаю поисковые запросы с использованием функции Zend_Search_Lucene_Search_QueryParser :: parse () с некоторыми добавленными подзапросами.

Есть ли какие-либо известные проблемы, почему при синтаксическом анализе документа мои поиски по ним выполняются нормально, но те, которые создаются в документах, которые я создаю, не работают с сообщениями об ошибках выше?

Большое спасибо,

Грант

1 Ответ

1 голос
/ 11 июня 2010

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

Очистил сеанс, вставил некоторый код для хранения информации о результате, которая мне нужна как экземпляр stdClass (), а затем сохранил ее в сеансе, и все снова было в порядке.

Я бы сказал, что вы пытаетесь извлечь что-то с Lucene, которое было сохранено в файловой системе, будь то Zend Cache, сеанс или что-то еще.

...