我有数千个标签,我不想将其编入索引。如何设置Algolia插件不要将taxonomy_post_tag
和post_author.display_name
编入索引?
答案 0 :(得分:4)
首先,我不确定您愿意做的优化是值得的。
事实上,就使用配额而言,只要您达到每条记录10kb的限制,Algolia就不会关心您的记录大小。如果你有很多记录,例如500k或更多,那么它可能是一个搜索优化考虑因素。
在您的情况下,您可以保留记录中的2个属性。
如果你真的想要清理它,你将不得不从发送到Algolia的记录中删除属性,这很容易用过滤器钩子实现。
function my_post_shared_attributes( array $shared_attributes, WP_Post $post) {
if ( isset( $shared_attributes['taxonomy_category'] ) ) {
unset( $shared_attributes['taxonomy_category'] );
}
if ( isset( $shared_attributes['post_author'] ) ) {
unset( $shared_attributes['post_author'] );
}
return $shared_attributes;
}
add_filter( 'algolia_post_shared_attributes', 'my_post_shared_attributes', 10, 2 );
我们根据帖子内容的DOM结构将每个帖子分成多个Algolia记录。这确保没有记录会破坏10kb的记录大小限制,甚至更好,它在大多数时间内保持在3kb以下,这对于Algolia引擎来说是最佳的。