【发布时间】:2016-03-14 06:40:45
【问题描述】:
如果“mumbai”一词出现在标题中的任何位置,我会返回此查询。
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"term": {
"title": "mumbai"
}
}
}
}
}
所以结果包含...
mumbai
mumbai ports
financial capital mumbai
我只需要返回“mumbai”词,而不是 mumbai 词与其他短语相关联的其他文档。只有第一个结果是正确的。如何丢弃其他结果?
更新
此查询按预期工作,如果匹配准确,它将列出排序值 58(随机值)。
curl -XPOST "localhost:9200/enwiki_content/page/_search?pretty" -d'
{
"fields": "title",
"query": {
"match": {"title": "Mumbai"}
},
"sort": {
"_script": {
"script": "_source.title == \"Mumbai\" ? \"58\": \"78\";",
"type": "string"
}
}
}'
我需要返回完全匹配孟买的标题(因此排序值为 58)。如何过滤或将脚本添加到“字段”参数?
【问题讨论】:
标签: elasticsearch