我在wordpress网站上使用Algolia。我做了一个搜索结果页面,它使用了大多数标准的内置aloglia功能。我想要做的是当有人输入一个关键字,如果它匹配我的一个标签,类别,相关的主题类型,我希望它选择该主题类型。我需要以编程方式执行此操作。我想我可以用javascript做到这一点,但是当我尝试这个时它没有生效。
jQuery('#qry-<?php // echo $active_query_term_slug; ?>').attr('checked', true);
我也尝试过:
helper.on('result', function(result) {
result.hits.forEach( (hit) =>
jQuery('#qry-<?php // echo $active_query_term_slug; ?>').attr('checked', true);
)
});
我应该补充一点,我已经在主题类型中添加了一个ID,该ID与我尝试在.attr('checked',true)行中选择的id相匹配。
当搜索到术语的完全匹配时,有没有办法以编程方式选择复选框?
答案 0 :(得分:0)
(免责声明:我在Algolia工作)
Algolia最近实际发布了一项功能,专为您的目标而设计:Query Rules
将您的代码,类别和主题设置为分面的属性,您可以要求引擎在查询中自动检测其中一个,并为此激活正确的过滤:
条件仅由“facet占位符”组成,它将尝试与categories
方面的任何值完全匹配。
请注意,我在我的规则中添加了两个后果:
categories
构面值第二个将确保您的查询仍然通过从中删除构面值来提取结果。事实上,一旦对类别特定的记录进行过滤,该词本身可能不再匹配任何内容或创建一些“噪音” 这是可选的,但我强烈推荐它。
请注意,不会从用户的搜索框中删除该字词,因此对他们来说是透明的!