Как игнорировать несопоставленные поля в упругом поиске? - PullRequest
0 голосов
/ 07 июня 2018

Мне нужна помощь, чтобы правильно настроить поиск Elastich.

Я установил Elasticpress в своем WordPress и установил сервер Elastic в облаке Google, используя bitnami.У поиска по умолчанию в моей теме есть собственный поиск, и я получаю эту ошибку в Elasticpress режиме отладки:

No mapping found for [meta._iwj_featured_date.l­ong]

, чтобы выполнить сортировку. Я нашел следующее решение из этого руководства:

GET /_search
{
    "sort" : [
        { "price" : {"missing" : "_last"} }
    ],
    "query" : {
        "term" : { "product" : "chocolate" }
    }
}

а куда мне этот код поставить?

1 Ответ

0 голосов
/ 27 марта 2019

Скрытые мета (пользовательские поля) - это поля, начинающиеся с _ (подчеркивание).Elasticpress не будет отображать их по умолчанию.Чтобы обойти это, есть фильтр.Добавьте это к своему functions.php

add_filter( 'ep_prepare_meta_allowed_protected_keys', function( $protected_keys ) {
    $protected_keys[] = '_iwj_featured_date';
    return $protected_keys;
} );

Затем выполните повторную индексацию сайта из интерфейсаasticpress.Ваша мета будет отображена.Теперь вы можете сортировать по нему.

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