1

我在一个项目上使用弹性压力。我在索引中包含了一个我想要匹配的元字段(比标题或其他任何东西更重要)

在 pre_get_post 我执行以下操作: $query->set( 'search_fields', array( 'meta' => array( 'meta_title' ), 'post_content', 'post_excerpt', ) );

我能够获取该元数据的匹配项,但我需要按日期对它们进行排序,这意味着,考虑到匹配项,给最近的帖子更多的权重。

我相信我必须在这里使用衰减函数,但我不完全确定这是否是最好的方法。

有任何想法吗?

ps:这是它正在使用的exp函数,但它似乎无法正常工作

"exp": { "post_date_gmt": { "scale": "14d", "decay": 0.25, "offset": "7d" } },

4

1 回答 1

1

是的,衰减函数就是你想要的。这是您正在使用的非常强的衰减,因此您的 function_score 查询可能没有正确包装整个查询。看起来 ElasticPress支持调试栏,所以也许这会帮助您了解查询有什么问题。

我通常发现高斯衰减更平滑一些。我用过的一些例子是:

于 2018-07-02T16:14:45.587 回答