solrlucenesolr4solrnet

Solr Text field and String field - different search behaviour


I am working on Solr 4+.

I have several fields into my solr schema with different solr field types.

Does the search on text field and string field differs?

Because I am trying to search on string field (which is a copy field of few facet fields) which does not work as expected. The destination string field is indexed and stored both.

However, when I change destination field which a text field (only indexed), it works fine.

Can you suggest why this happens? What is exactly the difference between text and string fields in solr in respect to searches?


Solution

  • TextFields usually have a tokenizer and text analysis attached, meaning that the indexed content is broken into separate tokens where there is no need for an exact match - each word / token can be matched separately to decide if the whole document should be included in the response.

    StrFields cannot have any tokenization or analysis / filters applied, and will only give results for exact matches. If you need a StrField with analysis or filters applied, you can implement this using a TextField and a KeywordTokenizer.