How should Documents handle query constructs?
It never can. Or we have a special Document implementation that passes the query verbatim to the query parser, without passing via the tokeniser.
Have TRECQuery and TRECSingleLineQuery to adhere to the Collection interface
How do you consider having the property setup for querying. At present, we have TrecQueryTags (retrieval usage), which are separate from TrecDocTags (indexing usage). Its a necessity that we have separate properties, so that one property file does for both indexing and retrieval. Perhaps in the interim, TRECQuery could remain as wrappers around Collection/Document?