如何调整Elasticseach搜索分数?

时间:2015-07-19 21:53:28

标签: java elasticsearch

好的,所以我正在迁移到Elasticsearch,除了触摸源代码之外我还没有找到调整分数的方法(这是一个选项,但我想知道是否有&#39 ;更好的方式)或查询1000个结果并在之后对其进行排序(不是)。

少数情况:

1)

结果A:

{
   "type":"project",
   "title":"foobar"
}

结果B:

{
    "type":"bug",
    "title":"#foobar something is broken"
}

=>我需要对结果A进行大量优先处理,以便查询foobar始终首先返回相应的项目而不是数百个错误报告,这些报告恰好在标题中有foobar(非常典型的情况,因为原因)。

2)

结果A:

{
    "type":"bug",
    "title":"#foobar something is broken",
    "status":"done"
}

结果B:

{
    "type":"bug",
    "title":"#foobar something else is broken",
    "status":"todo"
}

=>具有某些状态的结果应该优先,如在>中那样。在这种情况下是A.

3)

结果A:

{
    "type":"bug",
    "title":"#foobar something is broken",
    "priority":"critical"
}

结果B:

{
    "type":"bug",
    "title":"#foobar something else is broken",
    "priority":"low"
}

=> A>> B显然。

如果有帮助,我还可以为Elasticsearch可用于排序的项目生成一些静态搜索分数,例如。

{
    "type":"bug",
    "title":"#foobar something else is broken",
    "priority":"low".
    "searchscore":"420"
}

它没有捕捉到结果比较逻辑中的所有复杂性,但如果它明显更容易实现,它将是一个足够接近的解决方案。

0 个答案:

没有答案