christymcgrory / es-admin
Jetpack 弹性搜索的插件。
This package is auto-updated.
Last update: 2024-09-14 21:46:27 UTC
README
强大的管理员搜索,由 Elasticsearch 驱动。
贡献者: mboynes, alleyinteractive
标签: search, admin, wp-admin, faceted search, elasticsearch
至少需要: 4.5
测试到: 4.6
稳定版本: 0.1.0
许可证: GPLv2 或更高版本
许可证 URI: https://gnu.ac.cn/licenses/gpl-2.0.html
描述
向管理区域添加强大的分面搜索页面,以搜索所有类型的所有帖子。
可选地,此插件还可以替换整个管理区域中的核心帖子搜索表单,以利用 Elasticsearch 提供更快、更相关的搜索结果。
先决条件
- Elasticsearch 服务器
- Elasticsearch 插件/适配器(例如 SearchPress)
- ES_WP_Query 如果你想要替换核心搜索功能。
安装
ES Admin 设计为能够与任何 Elasticsearch 索引一起工作,无论数据如何映射。为了实现这一点,ES Admin 需要你注册一个“适配器”,该适配器将适当的帖子字段(例如 post_content
)映射到 Elasticsearch 索引路径(例如 post_content.analyzed
)。ES Admin 目前包含四个适配器:SearchPress,WordPress.com(用于托管在主 WordPress.com 平台上的 WordPress.com VIP 网站),Jetpack Search(在 VIP Go 或 Jetpack 专业计划中可用),以及一个主要用于单元测试的通用适配器。你不仅限于使用包含的适配器,你还可以通过扩展 ES_Admin\Adapters\Adapter
抽象类非常容易地构建自己的适配器,以与你的 Elasticsearch 插件一起工作。请参见 Generic Adapter 作为创建自己的示例。
一旦你有了适配器,你可以使用 es_admin_adapter
过滤器将其注册到 ES Admin 中。此过滤器期望返回一个类名,该类名必须是 ES_Admin\Adapters\Adapter
的扩展。以下是一个使用此过滤器与 SearchPress 适配器一起使用的示例
add_filter( 'es_admin_adapter', function() { return '\ES_Admin\Adapters\SearchPress'; } );
为了使用可选的“核心搜索替换”功能,该功能将用 Elasticsearch 集成替换管理中的任何帖子搜索表单,你必须安装并激活 ES_WP_Query(请参阅 README 中的 ES_WP_Query 设置)。ES_WP_Query 必须在 after_setup_theme
动作触发,优先级为 10
之前设置自己的适配器。
以下是一个设置 ES_WP_Query 以使用其 SearchPress 适配器,并在 after_setup_theme
优先级 5
下进行设置的示例,以确保它在 ES Admin 需要之前触发
add_action( 'after_setup_theme', function() { if ( function_exists( 'es_wp_query_load_adapter' ) ) { es_wp_query_load_adapter( 'searchpress' ); } }, 5 );
设置正确后,ES Admin 将添加一个设置页面以启用/禁用搜索集成。启用后,管理中的所有帖子搜索表单将使用 Elasticsearch 提供搜索结果。