схема solr для статьи-> структура абзаца - PullRequest
0 голосов
/ 15 июня 2010

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

article_id, номер_пункта, содержание_пункта

Поэтому мне нужно сначала разобрать статью, извлечь абзацы и проиндексировать ее один за другим.

Я беспокоюсь о производительности, так как одна статья может содержать 100 абзацев.

Есть предложения?

Ответы [ 2 ]

1 голос
/ 18 июня 2010

Если вам нужно только сопоставить отдельные абзацы с полнотекстовым запросом (в отличие от фильтров и т. Д.), Вы также можете сделать это, используя выделение - разделите абзацы, добавьте префикс к каждому номеру абзаца и затем индексируйтеабзацы как несколько значений в одном поле в одном документе.Во время поиска вы должны сделать подсветку на поле с полным соответствием (например, размер фрагмента -1) и без выделения подсветки;так что вы получите обратно абзац, который соответствует полнотекстовому запросу, с префиксом номера его абзаца (который вы, вероятно, захотите потом извлечь).

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

1 голос
/ 15 июня 2010

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

Сколько у вас статей?Это действительно не должно быть проблемой для удаления абзацев (мы делаем намного более сложную предварительную обработку, чем это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...