Solr 6.6: Как определить поля для хранения нескольких вариантов слагов для одного поста?

Что-то вроде этого тоже должно работать:

public static <T> List<T> convertListWithExtendableClasses(
    final List< ? extends T> originalList,
    final Class<T> clazz )
{
    final List<T> newList = new ArrayList<>();
    for ( final T item : originalList )
    {
        newList.add( item );
    }// for
    return newList;
}

Не знаю, почему clazz нужен в Eclipse ..

0
задан Salines 18 January 2019 в 10:40
поделиться

1 ответ

Сделайте ваше поле slug многозначным:

<field name="slug" type="string" indexed="true" stored="true" multiValued="true" />

.. и сохраните все возможные варианты слагов. Если вы храните только long-title-slug в этом поле сегодня и хотели бы сохранить его таким образом, добавьте вместо него новое поле:

<field name="path_slug" type="string" indexed="true" stored="true" multiValued="true" />

.. и затем включите все возможные значения для слагов в виде массив.

['posts/state', 'posts/city-name', ....]

Как именно вы это сделаете, зависит от кода, который вы используете для отправки контента в Solr, но все библиотеки Solr в некотором роде поддерживают это - либо путем многократного вызова addField или аналогичного, либо путем массив для метода addField.

Затем вы можете запросить этот слаг, используя path_slug:posts/state.

0
ответ дан MatsLindh 18 January 2019 в 10:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: