Elastic-search takes all our data, cleans it (stemming, HTML stripping, etc), then puts it into an inverted index, where content is separated and organized.
Search uses 3 fields:
The _all field is essentially a very large string made out of an item’s inverted index (non-module widget content, documents, module items, etc.). You "hit" on this data based on occurrence and relevancy metrics. It also searches title and tags, and if those "hit" it carries more weight (see Boost) than hitting on the ALL string.
Search Result Weights
The only two things that get a weighted factor (or a “boost”) in search results are Titles and Keywords. The rest of the results are based on the frequency of the search term. The search tool looks at everything in a long string and calculates how many times a term is referenced in content areas, descriptions, widgets, (etc). If a term is also in a title or keywords then it shows higher in the results.