ElasticPress - проверяет, сохраняется ли в массиве пустое имя поля - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь реализовать ElasticSearch на веб-сайте WordPress, но у меня возникают проблемы с синхронизацией всех продуктов. Я использую ElasticSearch с ElasticPress, и я исключаю многие поля, чтобы избежать проблем с размером индекса.

Я исключаю поля с нижеприведенным фильтром

add_filter( "ep_prepare_meta_excluded_public_keys", function ($arr, $post) {
    $excluded = [
        '_backorders',
        '_crosssell_ids',
        ............
    ];
    return $excluded;
}, 1, 2 );

Исключено почти 800 полей , Syn c, кажется, работает нормально, но теперь я получаю новую ошибку, которая выглядит следующим образом:

- 2177 (Post): 
type: mapper_parsing_exception
reason: failed to parse
type: illegal_argument_exception
reason: field name cannot be an empty string

Я попросил в репозитории GitHub ElasticPress о помощи, и мне сказали

Отладка массива мета-ключей непосредственно перед выходом из фильтра. Исходя из ошибки, может показаться, что в массиве может быть сохранено пустое имя поля.

Стоит отметить: если вы просто хотите найти несколько полей, возможно, стоит удалить все мета, просто отключив исходный массив и добавление массива полей, которые вы хотите.

Но я понятия не имею, что делать, и я не получил разъяснений по этому вопросу. Может кто-нибудь объяснить, что я должен делать с некоторыми примерами кода?

Как мне отладить массив мета-ключей и какой фильтр я должен использовать, чтобы включить вместо полей исключения?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...