【问题标题】:Algolia - Wordpress disable indexing of whole taxonomyAlgolia - Wordpress 禁用整个分类的索引
【发布时间】:2016-08-23 22:34:21
【问题描述】:

我有数千个标签,我不想被索引。如何设置 Algolia 插件不索引 taxonomy_post_tagpost_author.display_name

【问题讨论】:

  • 我很乐意在这里给你一个详细的答案,你能给我更多的背景信息吗?你说你有很多标签,你的意思是每个帖子都有很多标签?最终在您的帖子记录中得到一个大数组 taxonomy_post_tag?请问您为什么要删除作者 display_name?
  • 对于作者 display_name - 我的所有帖子只有 2 个作者,不需要编入索引。关于标签 - 我在大约 500 个帖子中每个帖子有大约 10-20 个标签,这导致了巨大的 taxonomy_post_tag 列表,其中包含 Algolia 仪表板索引中的项目。但是,如果搜索依赖于标签来提供更相关的搜索结果 - 那没关系。但我注意到一些奇怪的事情——所有帖子都被索引了 9 次而不是 1 次。请看截图:infinit.io/_/Ws8tuTP.jpg

标签: wordpress algolia


【解决方案1】:

为什么你可能不想这样做:

首先,我不确定您愿意做的优化是否值得。

确实,关于使用配额,Algolia 并不关心您的记录大小,只要您低于每条记录 10kb 的限制。如果您有很多记录,例如 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 );

关于每个帖子被拆分为多个 Algolia 记录:

我们根据帖子内容的 DOM 结构将每个帖子拆分为多个 Algolia 记录。这样可以确保没有记录会突破 10kb 的记录大小限制,甚至更好的是,它大部分时间都保持在 3kb 以下,这对于 Algolia 引擎来说是最佳的。

【讨论】:

  • 感谢您所做的一切!现在我看到了版本有多么不同。 0.3 相比 0.1 拆分帖子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多