Solr - многогранный синтаксис - PullRequest
0 голосов
/ 07 июля 2010

Мне трудно создать URL-адрес для запроса, который имеет более одного многогранного.Ниже приведен пример:

http://www.craftyfella.com/2010/01/faceting-and-multifaceting-syntax-in.html

Например, посмотрите на скриншот eBay, как будет выглядеть URL, если вы выберете «Sony» и «LG»в разделе «Бренд», а затем выберите «ЖК-дисплей» в разделе «Тип»?

Предположим, что BRAND и TYPE определены в schema.xml.

Этот URL будет работать, если вы выберете 'Sony и LG в разделе «Торговая марка»:

...&facet=on&facet.field={!ex=BRAND}BRAND&fq={!tag=BRAND}BRAND:Sony%20OR%20LG

Но что, если вам нужно выбрать как «Бренд», так и «Тип»?Я пытался это, но это не дает мне то, что я хочу:

...&facet=on&facet.field={!ex=BRAND}BRAND&fq={!tag=BRAND}BRAND:Sony%20OR%20LG&facet.field={!ex=TYPE}TYPE&fq={!tag=TYPE}TYPE:LCD

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 08 июля 2010

Если вы укажете fq дважды, будут сохранены только документы, соответствующие обоим фильтрам.Это похоже на наличие одного fq с AND для условий.Может быть, это не то, что вы хотите.Если вы хотите сохранить документы с тем или иным фильтром, вам придется использовать только один fq и объединить условие с ИЛИ.

ОБНОВЛЕНИЕ
После переосмысления, оновероятно, имеет смысл иметь AND между фильтрами BRAND и TYPE.

Кроме того, не забудьте еще раз указать, к какому полю вы применяете второе условие бренда fq:

fq=BRAND:Sony+OR+BRAND:LG

Наконец, вы можете указать одно и то же исключение для обоих facet.field, учитывая:

...&facet=on&facet.field={!ex=bt}BRAND&facet.field={!ex=bt}TYPE&fq={!tag=bt}BRAND:Sony+OR+BRAND:LG+OR+TYPE:LCD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...