Я пытаюсь реализовать 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 о помощи, и мне сказали
Отладка массива мета-ключей непосредственно перед выходом из фильтра. Исходя из ошибки, может показаться, что в массиве может быть сохранено пустое имя поля.
Стоит отметить: если вы просто хотите найти несколько полей, возможно, стоит удалить все мета, просто отключив исходный массив и добавление массива полей, которые вы хотите.
Но я понятия не имею, что делать, и я не получил разъяснений по этому вопросу. Может кто-нибудь объяснить, что я должен делать с некоторыми примерами кода?
Как мне отладить массив мета-ключей и какой фильтр я должен использовать, чтобы включить вместо полей исключения?
Спасибо