我在本page的最后一部分遵循了教程。
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;...
答案 0 :(得分: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;"
}
}
]
}
}
}'