2016-09-21 3 views
1

Итак, у меня есть поле в моих документах индекса Lucene с именем «Field1» (для всех целей и задач).Поле индекса Lucene не подлежит поиску

Когда я открываю Люк и просматриваю документы, я вижу, что в большинстве документов есть это поле. Однако, когда я переключаюсь на вкладку поиска, и я ввожу Field1:parameterValue, я получаю нулевые результаты поиска.

При выполнении индексирования для документа, я

doc.Add(new Field("Field1", field1, Field.Store.YES, Field.Index.ANALYZED));

Почему мое поле не в состоянии искать? В стороне, я не могу найти документацию о Люке, которая объясняет, что столбец «IdfpTSVopNLB #» находится в записи документа. Я думаю, что эта информация может быть полезна, поэтому для одной из записей, которая имеет это поле, значение столбца: IdfpTS---N---, а столбец «Норма» - 4.0

ответ

2

Поле «IdfpTSVopNLB #» представляет собой набор флагов , Вы должны увидеть ключ к нему в Евангелии от Луки:

Luke flags key location

Я бы угадать причину ваших поисков неисправные потому, что вы не принимая свой анализ во внимание. Например, для вашего образца запроса: Field1:parameterValue, если поле анализируется стандартным анализатором (а запрос не является аналитиком или анализируется по ключевым словам), вы не получите никаких результатов. Это связано с тем, что анализатор мог бы сгладить значение параметра parameterValue, поэтому фактический термин для поиска был бы «parametervalue».

На вкладке поиска вы должны увидеть место для выбора анализатора для использования Luke для разбора запроса. Если вы используете тот же анализатор, который вы использовали для индексации данных, вы можете увидеть лучшие результаты.

+0

Сладкий ребенок Иисус, как я пропустил это? Спасибо! – Bardicer

+0

Непонятно, какие параметры индексирования могут привести к пустым флагам (или тире) для dfp. У старой версии Люка был только я (скриншот в ответе). У Newer есть 4 флага Idfp (в исходном вопросе), объясняемый как I - Indexed (docs, freqs, pos). Просмотр существующих индексов Я вижу только Idfp для каждого поля. – MicMit

+0

@MicMit - только то, что он говорит, «я», если он проиндексирован, и если да, то что индексируется, документы, частоты или позиции. Если поле индексируется с документами и частотами, вы увидите «Idf-». Наиболее типичным (т.е. поведением по умолчанию) является индексирование всех трех: документов, частот и позиций. – femtoRgon

-1

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

+0

Я ценю множественные downvotes. Слишком плохо, что downvoters неспособны предоставить что-либо, чтобы защитить их отсутствие мыслей по этой теме. – Bardicer

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