gpt4 book ai didi

php - 根据 bool 字段值提升Elasticsearch结果

转载 作者:行者123 更新时间:2023-12-02 22:47:17 24 4
gpt4 key购买 nike

当搜索“ bool(boolean) ”字段类型为TRUE的正确方法以增强结果时,会遇到很多“静态”问题,大多数结果都在谈论 bool(boolean) 搜索。

N.B.我们正在使用php elastica库,但如果您只能提供很好的json,则可以从中进行管理。

我有一个包含5个字段的索引,其中有一些内置的Boosting正在进行中,您可以在此处看到:

array(
'article_id' => array('type' => 'string', 'include_in_all' => FALSE),
'subject' => array('type' => 'string', 'include_in_all' => TRUE, 'boost' => 8),
'summary' => array('type' => 'string', 'include_in_all' => TRUE, 'boost' => 5),
'content' => array('type' => 'string', 'include_in_all' => TRUE, 'boost' => 3),
'media' => array('type' => 'boolean', 'include_in_all' => FALSE),
'pub_date' => array('type' => 'date', 'include_in_all' => FALSE)
)

我还使用 pub_date查询对象上的 addShould()方法,通过基于年龄的 \Elastica\Query\Bool()字段成功提高了各个级别的结果。

我现在想做的是在 media为TRUE的情况下进一步提高结果。

有人可以告诉我如何为 media字段添加适当的增强吗?

最佳答案

有多种提高结果的方法,请查看this question以了解更多信息。您的用例似乎很简单,您可以在索引时执行,但我宁愿在查询时执行,只需在bool query中添加should子句,并在需要时对其进行适当的增强:

{
"bool" : {
"must" : {
...
},
"should" : [
{
.....
},
{
"term" : { "media" : "TRUE" }
}
],
}
}

new子句是可选的,但会使匹配文档的分数更高。如有必要,可以为其添加特定的增强,其值主要取决于其他子句。

关于php - 根据 bool 字段值提升Elasticsearch结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17029463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com