2012-01-17 4 views
1

Учитывая серию документов, содержащих текст, я хотел бы искать фразы и возвращать все совпадения и оценивать их. Я знаю, как получить lucene/solr, чтобы указать, какие документы совпадают, и делать заметки внутри документа, но как мне получить рейтинг, который включает в себя несколько совпадений из того же документа?Поиск и ранжирование нескольких совпадений фразы в индексированных документах lucene

First document. It has a single line of text. 
Second document. This text line is quite short. 
This is another line containing more text and is a bit longer. 

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

2nd document -> ...This "text line" is quite short. 
1st document -> ...It has a single "line of text". 
2nd document -> ...another "line containing more text" and is... 

Возможно ли это? Как?

+0

я первоначально имел более сложный вопрос, который включал это здесь: http://stackoverflow.com/questions/8883390/obtain-metadata-associated-with-matched-content-in-solr-lucene –

+0

Почему вы хотите, чтобы document2 дважды в результатах? Может быть, вы должны индексировать каждую строку как документ ... – naresh

+0

Вот что я сказал, каждая строка в качестве документа, если вы хотите, чтобы совпадения были линиями. – milan

ответ

-1

Если вы хотите иметь по одному совпадению в каждой строке, сделайте каждую строку своим документом. Не следует путать термин «документ» с тем, является ли текст фактически одним файлом.

Если вы хотите сохранить ссылку на файл, просто проиндексируйте его также в другом (сохраненном) поле.

{ id: "myfile.txt", 
    text: "first line" } 

{ id: "myfile.txt", 
    text: "second line" } 
+0

Я не говорю о файлах - я говорю о документах lucene. –

+0

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