提升个人弹性搜索指数以优先考虑结果

时间:2015-10-26 16:41:49

标签: indexing elasticsearch elasticsearch-indices

我在弹性搜索查询中尝试boost某些索引。现在,我的查询看起来像这样。

var query = {
    "query": {
        "query_string": {
            "fields": ["FirstName", "LastName"],
            "query": "Hank Hill",
            "default_operator": "AND"
        }
    }
};

var boosted_indices = {
    "index_A" : 1.0,
    "index_B" : 1.0,
    "index_C" : 10.0
};

if (boosted_indices) {
    query["indices_boost"] = boosted_indices;
}

// stringify and send query in an http.get request

我知道我的查询没有增加任何索引就像我期望的那样工作。但是,我仍然在查询结果中从“index_A”获得了大量结果,而不是大量提升的index_C。我知道在A和C中应该有相似数量的匹配结果,所以问题必须是我没有正确地提升查询。

我是否错误地设置了查询JSON?在我链接的教程中,它没有提供太多背景信息。

我注意到另一件事......返回文档的“_score”字段......所有这些字段都设置为null。这可能与我的文件没有根据它们来自的索引提升有关吗?

1 个答案:

答案 0 :(得分:1)

我希望你没有在查询中使用sort参数。这可能是_score为空且您未获得预期结果的原因。

这有帮助吗?