Пользовательское ранжирование в solr для настраиваемого поля с Websphere Commerce - PullRequest
0 голосов
/ 27 февраля 2012

Я настроил солнечный запрос так, чтобы он возвращал мне ответ в каждом центре выполнения для определенного продукта (скажем, стул) как

inventory_11051 ======> 10

inventory_11052 ======> 0

и т.д.

Мне нужно добавить фильтр во внешнем интерфейсе, чтобы мои солнечные результаты были отфильтрованы, чтобы показывать только те продукты, запас которых больше 0.

Обратите внимание: 11051 и 11052 - это идентификаторы выполнения, которые я должен определить во время выполнения и добавить к фильтру. Может кто-нибудь, пожалуйста, помогите мне в этом же?

Ура! * * 1013

1 Ответ

0 голосов
/ 27 февраля 2012

Я понял из вашего вопроса, что у вас есть ряд запасов, которые вы должны проверить? Таким образом, вам нужно вернуть идентификаторы выполнения для продукта X, где инвентарь больше нуля? Я предполагаю, что идентификатор продукта плюс идентификатор выполнения - это уникальный ключ для вашего индекса?

Если это так, то фильтрация инвентаря не должна быть проблемой. Инвентарь - это целое число, верно? Поэтому для фильтрации по инвентарю вы просто добавили бы «инвентарь: [1 К *]» к параметру запроса фильтра («fq», если вы используете веб-сервис Solr). Фильтрация по идентификаторам выполнения должна работать аналогично, за исключением того, что вы не будете использовать диапазон: "executement_id: (11051 ИЛИ 11052)". Это помогает? Не забудьте использовать «+» перед каждым фильтром, если у вас есть несколько параметров фильтра. Таким образом, ваш запрос фильтра может выглядеть следующим образом: "fq = + inventory: [1 TO *] + assignment_id: (11051 ИЛИ 11052)".

...