Индексируя многозначность с помощью Solr, выберите type = text или string

1

Я прочитал пример spring-solr, и у меня есть вопрос:

В объекте Product есть много категорий, и я хочу индексировать и запрашивать их

В схеме у меня есть конфигурации:

<field name="categories" type="text_ws" multivalue="true"> (text_ws with a simple tokenizer: WhitespaceTokenizerFactory) (1)
or
<field name="categories" type="string" multivalue="true"> (2)

Когда это будет с помощью пути (1), я нажму на Solr с полной строкой, которая содержит категории, разделенные пробельной буквой, для индексирования, а также для запроса и с помощью способа (2), который представляет собой список строк с каждой строкой одной категории.

Я хотел бы знать, что путь лучше, чем для индексирования и для запросов. В представлениях сущности я предпочитаю (2) больше, чем (1), то есть список строк

Теги:
solr

2 ответа

1

StrField будет соответствовать только если у вас есть точное соответствие или подстановочный запрос, соответствующий полю. Для значений не существует токенизация или фильтрация, а Foo отличается от foo. Это прекрасно, если все, что вам нужно, это отфильтровать на основе значения поля или использовать поле для огранки.

Если вы хотите искать в поле, сопоставляя только "за пределами" с "Bed, Bath & Beyond", вам понадобится TextField с различными анализаторами и токенизаторами (в зависимости от того, как и что вы хотите сопоставить).

Это означает: это зависит от вашего варианта использования и того, чего вы хотите достичь. Также нет ничего плохого в том, чтобы иметь одинаковое значение в двух разных полях, где вы выполняете различную токенизацию или анализ для каждого поля. Используйте copyField чтобы получить одно и то же значение в обоих полях, затем запросите каждое поле в зависимости от того, как вы хотите выполнить поиск или какую операцию вы хотите выполнить (например, используйте для огранки и одну для поиска).

0

Это зависит от того, как вы хотите использовать/использовать поле категорий.

Кстати, это multiValued не многозначный.

  • 0
    Как насчет производительности двумя способами для индексации и запросов с помощью поисковых терминов - это список категорий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню