我正在努力按照我想要的方式在弹性搜索中提升工作量.
假设我有一些索引包含性别,兴趣和年龄的个人资料,让我们说我发现性别匹配最相关,那么兴趣和最不重要的标准就是用户的年龄.我期待下面的查询导致根据刚刚提到的原则对匹配的配置文件进行排序,但是当我执行它时,我首先得到一些男性,然后我得到50岁的女性安娜,然后是喜欢汽车的女性玛丽亚...为什么玛丽亚得分不比安娜高?
{
"query": {
"bool" : {
"should" : [
{ "term" : { "gender" : { "term": "male", "boost": 10.0 } } },
{ "term" : { "likes" : { "term": "cars", "boost" : 5.0 } } },
{ "range" : { "age" : { "from" : 50, "boost" : 1.0 } } }
],
"minimum_number_should_match" : 1
}
}
}
Run Code Online (Sandbox Code Playgroud)
提示将不胜感激,
斯坦
这些是执行的curl命令:
$ curl -XPUT http://localhost:9200/users/profile/1 -d '{
"nickname" : "bob",
"gender" : "male",
"age" : …
Run Code Online (Sandbox Code Playgroud)