2010-04-27 3 views
0

У меня проблема при поиске с lucene.делает lucene поиск функция работа в большом размере документ?

Во-первых, в функции индексации lucene он отлично работает с документом большого размера. например, PST-файл, почтовое хранилище Outlook. Он может создать файл индексирования, включающий всю информацию .pst. Единственная проблема в том, что иногда бывает большой, включают очень много слов.

Так что, когда я ищу с помощью lucene, он может обрабатывать переднюю часть этого файла индексирования, если одно слово выходит из задней части файла индексации, оно не может найти это слово и никаких ударов в результате. Но когда я отделяю этот файл индексации от нескольких частей глупо, когда вы отлаживаете и просматриваете все части, он может работать хорошо.

Так что я хочу знать, как отделить файл индексации, насколько размер должен быть пределом поиска?

ура и ждать 4 ответа.

++++++++++++++++++++++++++++++++++++++++++++++ ++++

привет, там, следуйте за Coady siad, я устанавливаю длину до max 2^31-1. Но результат поиска по-прежнему не может включать то, что я хочу. просто, я конвертирую слово doc в строковый массив [] для анализа, В одном слове doc есть 79680 слов, включая пробел и любой символ. Когда я ищу определенное слово, он просто возвращает 300 графов, на самом деле он имеет более 300 результатов. По той же причине, когда я искал слово в задней части документа, он также не мог найти. ////////////// установить длину

idexwriter.SetMaxFieldLength (2147483647);

//////////////////// поиск

IndexSearcher поисковое = новые ndexSearcher (. Program.Parameters [ "INDEX_LOCATION"] ToString()); Хиты hits = searchcher.Search (query);

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

PLS поможет мне найти, есть ли какая-либо длина поискового устройства? как вы справляетесь с этой проблемой.

+0

Уверены, что результаты отсутствуют, потому что индекс слишком велик? Возможно, вам следует опубликовать код, иллюстрирующий, как индексируются слова. –

+1

Я полагаю, вы используете версию 2.4 или старше. В более новой версии длина индексируемого поля должна быть явно указана, чтобы избежать молчания. Коуди дал правильный ответ. –

+0

PLS см. Мой ответ. – user321952

ответ

5

Если вы можете получить результаты поиска только с передней стороны документа, тогда документ, вероятно, длиннее, чем IndexWriter's maxFieldLength. Попробуйте установить его на большее число (по умолчанию 10000).

+0

см. Мне ответ, помогите мне, скажите мне, что вам нужно знать о моем коде – user321952

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