Ранжирование результатов SOLR по запросу - PullRequest
0 голосов
/ 22 октября 2018

У меня есть SOLR DIH-conig.xml (dataimporter) с несколькими запросами, запрашивающими разные таблицы (или представления) в Oracle 11.

Я просто хочу, чтобы SOLR сначала возвращал результаты одного конкретного запроса перед возвратомрезультаты других запросов.

Как мне настроить это в DIH-config.xml?

Спасибо.

С уважением, Эрик

1 Ответ

0 голосов
/ 22 октября 2018

Вы не можете настроить это в data-config.xml любым способом - то, что возвращает Solr, основано на том, что находится в индексе.Обработчик импорта данных импортирует данные только в Solr, запросы SQL не используются ни для чего, кроме получения данных в Solr.

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

В запросе SQL добавьте псевдоним поля в качестве приоритета документа:

SELECT ..., 1000 AS priority FROM ...

Во втором запросе выполнитето же самое, но с более высоким значением приоритета:

SELECT ..., 2000 AS priority FROM ...

Для этого необходимо сначала указать длинное / целое поле с именем priority, если вы не работаете в режиме без схемы.

При запросе Solrиспользуйте это значение в качестве первого критерия сортировки (sort=priority, score).Это даст все документы из первого запроса, сначала отсортированные по баллам, а затем по последнему запросу, также отсортированные по баллам.

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