Apache Solr string field or text field?
The fields as default defined in the solr schema are vastly different.
String
stores a word/sentence as an exact string without performing tokenization etc. Commonly useful for storing exact matches, e.g, for facetting.
Text
typically performs tokenization, and secondary processing (such as lower-casing etc.). Useful for all scenarios when we want to match part of a sentence.
If the following sample, "This is a sample sentence"
, is indexed to both fields we must search for exactly the text This is a sample sentence
to get a hit from the string
field, while it may suffice to search for sample
(or even samples
with stemmning enabled) to get a hit from the text
field.