2015-03-09 9 views
0

Я следил за учебником в последней части этого page.elasticsearch, function_score SearchPhaseExecutionException

POST /merchantindex/_search 
{ 
    "function_score": { 
    "query": { 
    {"query_string": { "query": "test"}} 
    }, 
    "functions": [ 
     { 
      "script_score": 
      { 
       "script": "return _score;" 
      } 
     } 
    ] 
} 
} 

То, что я ожидаю, возвращает значение релевантности. Я хотел сделать некоторую обработку с помощью _score, например. _score * некоторые другие вещи, но я просто пытаюсь, если код работает сейчас.

Ошибка, что я получил это

"error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed;... 

ответ

1

Эта ошибка:

"error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed;... 

обычно означает, что форматирование вашего запроса неправильно.

если вы проверяете ваш запрос, вы увидите, что у вас есть две фигурные скобки между query и query_string:

"query": { {"query_string": 

Также function_score потребности, чтобы сидеть в запросе и functions должен быть внутри function_score.

Попробуйте вместо этого:

curl -XPOST "http://localhost:9200/merchantindex/_search" -d ' 
{ 
    "query": { 
     "function_score" : { 
     "query" :{ 
      "query_string": { "query": "test"} 
     }, 
     "functions": [ 
     { 
      "script_score": { 
       "script": "return _score;" 
      } 
     } 
     ] 
    } 
    } 
}' 
+0

Я на самом деле следовал код с какой-либо сайт, и я проверил вашу версию, и она не работает, а также (такая же ошибка). = (.Пожалуйста, сообщите – FailedMathematician

+0

Как вы определили свой скрипт return_score? Можете ли вы добавить свое полное сообщение об ошибке на свой вопрос? –

+0

в последних исправлениях – FailedMathematician

 Смежные вопросы

  • Нет связанных вопросов^_^