Я предполагаю, что shop_keyword - это текстовое поле.
При поиске по ключевому слову Apple AND Orange
будут возвращаться только термины shop_keyword, содержащие и Apple и Orange, при условии, что вы выполняете поиск поэто поле исключительно (shop_keyword:Apple AND Orange
).Например, вы должны видеть только результаты, которые содержат:
Apple Orange
А не:
Apple Mango
(я смог подтвердить это на моем локальном экземпляре Solr с текстовым полем)
Однако вы увидите результаты, которые содержат:
Apple Lime Orange Tree
(где "Оранжевое дерево" - это одно слово, но с пробелами)
Отссылка, которую вы разместили, похоже, что это проблема.Итак, ваша настоящая проблема в том, что у вас есть пробелы в ваших ключевых словах, которые Solr также использует в качестве своего рода разделителя, и в этом случае из перечисленных технических решений есть только те, о которых я знаю.Однако ...
Если у вас есть контроль над терминами, и они не используются в свободном текстовом поиске (или для Google), вы можете удалить пробелы в ключевых словах и добавить цитаты в ваш поиск.Это решит вашу проблему:
shop_keyword:"Apple" AND "Orange"
Не вернет "Orange_Tree".
Если вы пошли по этому маршруту, вы могли бы использовать отдельное поле для индексации терминов длясвободный текстовый поиск и другие непрограммные цели.
Не идеально, но я надеюсь, что это как-то поможет =).