- Indexes >
- Indexing Tutorials >
- Text Search Tutorials >
- Control Search Results with Weights
Control Search Results with Weights¶
This document describes how to create a text index with specified
weights for results fields.
For a text index, the weight of an indexed field denotes the
significance of the field relative to the other indexed fields in terms
of the score. The score for a given word in a document is derived from
the weighted sum of the frequency for each of the indexed fields in
that document. See $meta operator for details on
returning and sorting by text scores.
The default weight is 1 for the indexed fields. To adjust the weights
for the indexed fields, include the weights option in the
db.collection.createIndex() method.
Warning
Choose the weights carefully in order to prevent the need to reindex.
A collection blog has the following documents:
To create a text index with different field weights for the
content field and the keywords field, include the weights
option to the createIndex() method. For
example, the following command creates an index on three fields and
assigns weights to two of the fields:
The text index has the following fields and weights:
contenthas a weight of 10,keywordshas a weight of 5, andabouthas the default weight of 1.
These weights denote the relative significance of the indexed fields to
each other. For instance, a term match in the content field has:
2times (i.e.10:5) the impact as a term match in thekeywordsfield and10times (i.e.10:1) the impact as a term match in theaboutfield.