Нам всегда нужно предпочесть поле строки над текстовым полем, если обе решают задачи.
Как строка или текст влияют на такие параметры, как размер индекса, чтение индекса, создание индекса?
Ответ 1
Поля, заданные по умолчанию в схеме solr, значительно отличаются.
String сохраняет слово/предложение как точную строку без выполнения токенизации и т.д. Обычно полезно для хранения точных совпадений, например для фасетирования.
Text обычно выполняет токенизацию и вторичную обработку (например, нижнюю оболочку и т.д.). Полезно для всех сценариев, когда мы хотим соответствовать части предложения.
Если следующий образец, "This is a sample sentence", проиндексирован в оба поля, мы должны искать именно текст This is a sample sentence, чтобы получить попадание из поля String, в то время как для поиска может быть достаточно sample (или даже samples с включенным прерыванием), чтобы получить попадание из поля Text.