弹性搜索中的自定义分数

时间:2013-05-20 13:30:34

标签: lucene elasticsearch pyes

我有一个索引,每个文档代表一个班级,包括学生列表和教师列表。

以下是映射:

{
"properties" :  {
    "students" : {
        "include_in_root" : 1,
        "type" : "nested",
        "properties" : {
            "name" : {
                "first" : "text",
                "last" : "text",
                },
            },
            "email" : { "type" : "string", "index" : "not_analyzed" },
        },

    "teachers" : {
        "include_in_root" : 0,
        "include_in_all" : 0,
        "type" : "nested",
        "properties" : {
            "name" : {
                "title" : { "type" : "string", "index" : "not_analyzed" },
                "first" : "text",
                "last" : "text",
                },
            },
        },
    },
}

我想影响弹性搜索分数功能,这样可以为匹配 techers 的文档提供更高的分数。

例如,如果我搜索“史密斯”,我希望老师史密斯的文件得分高于学生史密斯的文件。

有谁知道应该如何在弹性搜索中完成? 换句话说,如何返回某些逻辑排序的结果?

提前致谢!

1 个答案:

答案 0 :(得分:0)

在这里回答: https://groups.google.com/forum/?fromgroups#!search/%22Use $ $ 20A $ 20bool $ 20query $ 20to $ 20run $ 20two $ 20nested%20queries 22 / elasticsearch / XTAb7eHcbqI / UgnKDh7ou48J