Hello, Vadim. Please find inline.
On Thu, Dec 14, 2017 at 11:43 AM, Vadim Gindin <vgin...@detectum.com> wrote: > Hi all. > > As I can understand. All Queries (or most of them?) are single-field > oriented. They may implement different search/score logic, but they are > intended for a single field. For example, simple TermQuery or PhraseQuery. > If I need to implement the search through different fields I should use > BooleanQuery to combine several single-field queries. > > Did I understand that right? > Absolutely > > What is an appropriate way to implement a document-wise Query? > > 1. DisjunctionScorer.getChildren() painful doc-at-time handling 2. there is a quite promising idea is to amend buffer in term-at-time BooleanScorer to track every doc-term hit. 3. probably it can be done by copying all terms into single field, but storing original field in payloads, but it's reaalllly slooooww > I need to have the ability to combine fields matching of one document and > analyze it. Particularly - to count whether all query terms are matched (to > one field or to different fields). I need to be able to fetch corresponding > information: what terms are matched to what fields and so on. > > > It seems, that BooleanQuery/BooleanScorer is not a good place to accumulate > some information from a child Queries/Scorers. > -- Sincerely yours Mikhail Khludnev