запросы функции solr с 'def' - PullRequest
       18

запросы функции solr с 'def'

0 голосов
/ 18 февраля 2019

Я пытаюсь использовать функцию solr 'def' с bf, но она не работает, как указано в документации

В документации сказано: def - это сокращение по умолчанию.Возвращает значение поля «field» или, если поле не существует, возвращает указанное значение по умолчанию.Возвращает первое значение, где существует () == true.

Примеры синтаксиса

def (rating, 5): эта функция def () возвращает оценку, или если оценка не указана в документе, возвращает 5 def (myfield, 1.0): эквивалентно if (существует (myfield), myfield, 1.0)

http://localhost:8983/solr/mycollection/select?q=name:milk&bf=if(exists(myfield),myfield,1.0)

или

http://localhost:8983/solr/mycollection/select?q=name:milk&bf=def(myfield,1.0)

Ожидаемый результат равен 1, если myfield не существует

1 Ответ

0 голосов
/ 18 февраля 2019

Вы забыли использовать defType = edisMax или disMax

defType=edismax&bf=def(myfield,1)

Вы также можете проверить функцию def в полях fl, чтобы увидеть вывод

select?fl=def(myfield,10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...