Как записать условные значения в запросе pullRelated в точках CMS? - PullRequest
0 голосов
/ 29 мая 2018

Привет, у меня есть тип контента, такой как PartGroup и PartNumber, я хочу отфильтровать имя столбца PartNumber по значению, я написал запрос, как показано ниже.Я применил значение partnumber с именем столбца, которое не работает. Может ли кто-нибудь мне помочь.

# set ($ partNumbers = $ dotcontent.pullRelated ('PartGroup-PartNumber', $ {pgroupF.identifier}, "PartNumber.searchableSpecifications: (+ \ "Cable! _Type | belden! _735a,! _ bt3002,! _ tzc75024 \") ", false, 0))

Спасибо, Сантош

1 Ответ

0 голосов
/ 29 мая 2018

Синтаксис, который вы используете для вызова метода, верен, но, похоже, синтаксис вашего запроса неверен.Запрос в методе pullRelated использует синтаксис Lucene.

Поскольку я не знаю формат поля данных, которое вы ищете, сложно сказать, что вы хотите, чтобы условие выполнялось.Но я предполагаю, что из вашего примера вы пытаетесь использовать запятые в качестве операторов «ИЛИ», и что поле, которое вы пытаетесь найти, представляет собой большое текстовое поле, которое может иметь несколько различных значений.

В Lucene вам нужно использовать пробелы, а не запятые для оператора «ИЛИ».Вам также не нужны экранированные двойные кавычки в вашем запросе, но вам, вероятно, понадобятся подстановочные знаки, окружающие значения, которым вы хотите соответствовать.И я не уверен, для чего нужны восклицательные знаки, но в Lucene восклицательный знак является оператором «НЕ».

Так что я предполагаю, что ваш запрос должен выглядеть примерно так (но, опять же, он зависитна формат ваших данных, поэтому, не видя, как выглядят некоторые из данных, это только предположение):

"+PartNumber.searchableSpecifications:(*Cable_Type:belden_735a* *Cable_Type:_bt3002* *Cable_Type_tzc75024*)"

Если вы используете восклицательные знаки, чтобы попробоватьи сопоставьте любой кабель , за исключением , который вы указали в запросе, тогда ваш запрос будет выглядеть следующим образом:

"-PartNumber.searchableSpecifications:(*Cable_Type:belden_735a* *Cable_Type:_bt3002* *Cable_Type_tzc75024*)"

Для получения дополнительной информации оКак работает синтаксис Lucene (а также примеры), смотрите документацию по синтаксису запроса на сайте dotCMS: https://dotcms.com/docs/latest/content-search-syntax.

Надеюсь, это поможет!

...