macdjord
Well worn.
- Joined
- Feb 20, 2013
- Messages
- 9,262
- Likes received
- 40,540
Frequently when searching I get the message "The following words were not included in your search because they are too short, too long, or too common:". Now, I understand why this message appears: the search system maintains indexes of which posts certain words appear in; if a word is not indexed, it is discarded as a search key rather than run a linear search over the entire forum.
However, there is a better way. What the search system ought to do is first apply those search criteria which are indexed: other words, poster, date range, forum or thread restrictions. Then, as long as that narrows things down enough to be tractable (say, a few thousand results), apply the non-indexed search terms by linear text search.
The search system already does something like this when you search for a quoted multi-word string: since the indexes only ever cover single words, it has to be performing a text search after filtering by the indexed words. This functionality simply needs to be extended to non-indexed single words.
However, there is a better way. What the search system ought to do is first apply those search criteria which are indexed: other words, poster, date range, forum or thread restrictions. Then, as long as that narrows things down enough to be tractable (say, a few thousand results), apply the non-indexed search terms by linear text search.
The search system already does something like this when you search for a quoted multi-word string: since the indexes only ever cover single words, it has to be performing a text search after filtering by the indexed words. This functionality simply needs to be extended to non-indexed single words.