#elasticsearch #groovy
#elasticsearch #groovy
Вопрос:
в нашем проекте мы используем сортировку по hasChild, которая точно соответствует книге:
{ «query»: { «has_child»: { «type»: «blog_tag», «score_mode»: «max», «query»: { «function_score»: { «script_score»: { «script»: «_score * doc[‘click_count’].value» } }} } } }
Проблема в том, что когда у меня есть «score_mode», он возвращает следующую ошибку:
«причина»: {«тип»:»script_exception», «причина»: «не удалось запустить встроенный скрипт [«_score * doc[‘clickcount’].value] с использованием lang [groovy]», «caused_by»: {«тип»: «missing_property_exception», «причина»:»Такого свойства нет:
Избавление от «score_mode» покажет результаты, которые не отсортированы. У кого-нибудь есть идеи, в чем может быть проблема?
РЕДАКТИРОВАТЬ: вот полная ошибка. Приведенный выше пример взят из документации, поскольку моя информация конфиденциальна, и мне пришлось заменить ее example . В следующей ошибке я также заменил некоторые имена.
{«took»:24,»timed_out»:false,»_shards»:{«total»:4,»successful»:2,»failed»:2,»failures»:[{«shard»:1,»index»:»my_index»,»node»:»qA2MHVABTHKXs6Le0TD0iQ», «причина»:{«type»:»script_exception», «причина»: «не удалось запустить встроенный скрипт [_score * doc[‘type.clickcount’].value] с использованием языка [groovy]», «caused_by»:{«type»:»missing_property_exception»,»причина»: «Нет такого свойства: тип для класса: c47126be960099501d9aebe33d6f1e7666fdff5e»}}}]},»хиты»:{«всего»: 0,»max_score»: null,»хиты»:[]}}
Комментарии:
1. Не могли бы вы указать все ошибки в вопросе?
2. Запрос в вашем questiom имеет click_count . В сообщении об ошибке указано количество кликов . Это то, что вы переименовали перед публикацией?
3. Какую версию elasticsearch вы используете?
4. Да, он переименован, а версия elasticsearch — 2.3.5
5. Кажется, что отображается ошибка
_score * doc['type.clickcount'].value
, но у вас другой сценарий в вашем запросе
Ответ №1:
Согласно ошибке, score
вместо _score
score * doc['clickcount'].value
следует читать
_score * doc['clickcount'].value
^
|
Комментарии:
1. извините, я как-то удалил подчеркивание в ошибке, но оно есть
2. Можете ли вы показать образец документа и / или свое отображение?
3. данные конфиденциальны, поэтому я не могу показать свое отображение: (
4. Сопоставление не содержит никаких данных 🙂