Поиск и ранжирование совпадений нескольких фраз в индексированных документах Lucene

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

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...

Это возможно? Как?

1 ответ

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

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

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

{ id: "myfile.txt",
  text: "second line" }
Другие вопросы по тегам