作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在一个项目上使用elasticpress。
我在索引中包含了要进行匹配的meta_field(比title或其他任何内容都重要)
在pre_get_post上,我执行以下操作:
$query->set( 'search_fields', array(
'meta' => array( 'meta_title' ),
'post_content',
'post_excerpt',
) );
我可以获取该元数据的匹配项,但是我需要按日期对它们进行排序,这意味着,在找到匹配项后,可以将更多的权重分配给最近的帖子。
我相信我必须在这里使用衰减函数,但是我不确定这是否是最好的方法。
有任何想法吗?
附言:这是正在使用的exp函数,但似乎无法正常工作"exp": {
"post_date_gmt": {
"scale": "14d",
"decay": 0.25,
"offset": "7d"
}
},
最佳答案
是的,衰减函数是您想要的。那是您正在使用的相当强大的衰减,因此,也许您的function_score查询没有正确包装整个查询。看起来ElasticPress具有debug bar support,所以也许这可以帮助您查看查询出了什么问题。
我通常发现高斯衰减会更平滑。我使用过的一些例子包括:
关于wordpress - 重视最近的约会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51067630/
我有一个包含产品的elasticsearch索引,我试图创建一个具有文本字段功能的搜索列表产品。 数据集的排序示例{"name": "foo", "count": 10}{"name": "bar",
我是一名优秀的程序员,十分优秀!