【发布时间】:2014-09-30 21:48:47
【问题描述】:
我正在尝试将字段映射为 nGram 和“精确”匹配,并使精确匹配首先出现在搜索结果中。这是answer to a similar question,但我正在努力让它发挥作用。
无论我为“精确”字段指定什么提升值,我每次都会得到相同的结果顺序。这就是我的字段映射的样子:
"name" : {
"type" : "multi_field",
"fields" : {
"name" : {
"type" : "string",
"boost" : 2.0,
"analyzer" : "ngram"
},
"exact" : {
"type" : "string",
"boost" : 4.0,
"analyzer" : "simple",
"include_in_all" : false
}
}
}
这就是查询的样子:
{
"query": {
"filtered": {
"query": {
"query_string": {
"fields":["name","name.exact"],
"query":"Woods"
}
}
}
}
}
【问题讨论】:
标签: elasticsearch n-gram