Zing computes document scores using three components
The Zing search engine computes document scores based on the frequency, sequence, and weight of search terms in the document.
Document scores
- Frequency: how often the search terms appear in the document.
- Sequence: how often the search terms appear in the same order as the search query.
- Weight: how heavily weighted the source field is in which the search terms appear.
Frequency points
Zing awards one point whenever a search term appears anywhere in the document. For example, when searching for distributed database server, a document that contains distributed three
times, database five times, and server 17 times would have 25 frequency points.
To increase search result scores of search terms that appear more frequently in a document, but less frequently in a document set, you can Score search terms by inverse document frequency (IDF). When TF-IDF is enabled, search term scores are calculated by multiplying the term frequency score by the inverse document frequency score. Because enabling TF-IDF increases the weight of less
common search terms, search results for that table are more likely to be relevant. For example, when searching for distributed database server, the term distributed might receive a higher
score than server if it appears frequently in one document but less frequently in the document set as a whole.
Zing applies a multiplier to frequency points based on the value of the ts_weight attribute for the field in which the search term appears. A field with a text search scoring weight of 30 (ts_weight=30) would add 30 points for each inclusion of a search term.
Sequence points
Zing awards a document more points when it contains the search terms in the same order in which they were typed. The more search terms in sequence there are, the exponentially higher the score becomes. Zing awards sequence points as 10^x, where x is the number of search terms that appear in sequence.
In the distributed database server search example, Zing awards a document 100 (10^2) sequence points for each time it includes the two-term string database server. Likewise, Zing awards a document 1000 (10^3) sequence points each time it includes the three-term string distributed database server.
Zing applies a multiplier to sequence points based on the value of the ts_weight attribute for the field in which the sequence appears. The sequence points use the calculation (10^x * field ts_weight attribute).
Field scoring weights
- kb_knowledge.number = 50
- kb_knowledge.short_description = 10
- kb_knowledge.meta = 10
- task.number = 50
- task.short_description = 10
All other fields have a default ts_weight attribute of 1. The maximum possible weight value is 255.