What is the difference between index time field boosts (field.setBoost(boost))
and query time boosts (query.setBoost(boost))
Lucene's FAQ seems to conflict with the javadoc. (Lucene 4.9.0)
FAQ:
Index time field boosts (field.setBoost(boost)) are a way to express things like "this document's title is worth twice as much as the title of most documents". Query time boosts (query.setBoost(boost)) are a way to express "I care about matches on this clause of my query twice as much as I do about matches on other clauses of my query".
Index time field boosts are worthless if you set them on every document.
Lucene allows influencing search results by "boosting" at different times:
Index-time boost by calling Field.setBoost() before a document is added to the index. Query-time boost by setting a boost on a query clause, calling Query.setBoost(). Indexing time boosts are pre-processed for storage efficiency and written to storage for a field as follows:
From testing, the FAQ is wrong. Setting the same index time field boosts on all documents does affect scoring.
The javadoc sounds like index time field boost and query time boosts have the exact same affect on scoring. Is this true?