2010-04-30 4 views
3

Я запускаю простой тест - пытается индексировать что-то, а затем искать его. Я индексирую простой документ, но затем, когда поиск строки в нем, я возвращаю то, что выглядит пустым документом (у него нет полей). Кажется, что Луцен делает что-то, потому что, если я ищу слово, которого нет в документе, он возвращает 0 результатов.Почему мои результаты документа Lucene пусты?

Любая причина, по которой Lucene надежно вернет документ, когда найдет тот, который соответствует данному запросу, и все же этот документ ничего не содержит в нем?

Подробнее:

  • Я на самом деле работает Lucandra (Lucene + Кассандру). Это, безусловно, может быть важной деталью, но не уверен.

  • Поля, которые установлены в Field.Store/YES и Field.Index/проанализированных

  • Интересно, что я могу получить эту работу просто отлично на моей локальной машине, но когда мы помещаем ее на нашем главный сервер (который представляет собой установку нескольких узлов cassandra), я получаю описанное выше поведение. Так что это похоже на, вероятно, релевантная информация, но, к сожалению, я не вижу сообщения об ошибке, чтобы понять, что именно вызывает его.
+0

Можете ли вы привести пример из строк вы хранящих и как вы запрашиваете их? Вероятно, вы используете QueryParser и не создаете запросы вручную? – ponzao

ответ

0

Трудно сказать, в чем проблема, поскольку вы предоставляете только очень абстрактное описание. Однако это похоже на то, что вы не сохраняете значение поля в индексе. Существуют различные режимы для индексации поля. Один параметр определяет, будет ли исходное значение сохраняется в индексе, чтобы получить его позже:

http://lucene.apache.org/java/3_0_0/api/core/org/apache/lucene/document/Field.Store.html

Смотрите также описание вмещающей класса Field

+0

Спасибо, я понимаю, что я только дал абстрактное описание. И это потому, что это реализовано в обертке clojure вокруг Lucandra, которая является способом использования Lucene с Clojure. Что касается магазина в поле, к сожалению, я использую Field.Store/YES, так что это не проблема. Однако теперь я обновляю исходный вопрос с этой и другой информацией. Благодаря! – vegashacker

1

неуверен, если это будет работать с Lucandra, но у вас есть пытался открыть индекс с помощью Люка? Просмотр содержимого индекса с Luke может помочь

Смежные вопросы