我正在尝试使用随机脚本suggested here
对查询进行排序我很难验证并运行我的查询,因为它一直让我回复错误。
我正在运行的查询是:
{
"sort": {
"_script": {
"script": "(doc['_id'].value + salt).hashCode()",
"type": "string",
"params": {
"salt": "some_random_string"
},
"order": "asc"
}
},
"query": {
"filtered": {
"filter": {
"and": [
{
"exists": {
"field": "location"
}
},
{
"terms": {
"streamIds": [
796
]
}
}
]
}
}
}
}
没有排序的查询工作并返回结果。
我做错了什么?
我尝试过查询suggested here,但无济于事。
答案 0 :(得分:0)
发现Elasticsearch禁用了1.4.3中的脚本,这就是它无效的原因。
有效的代码:
{
"query": {
"function_score": {
"query": {
"filtered": {
"filter": {
"and": [
{
"exists": {
"field": "location"
}
},
{
"terms": {
"streamIds": [
796
]
}
}
]
}
}
},
"random_score": {}
}
}
}