christymcgrory/es-admin

Jetpack 弹性搜索的插件。

安装数量: 1,060

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 8

类型:wordpress-plugin

1.1.0 2021-07-14 14:38 UTC

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 目前包含四个适配器:SearchPressWordPress.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 提供搜索结果。