Поиск и ранжирование совпадений нескольких фраз в индексированных документах 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" }