Lucene++ - a full-featured, c++ search engine
API Documentation


Loading...
Searching...
No Matches
MultiSearcher.h
Go to the documentation of this file.
1
2// Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3// Distributable under the terms of either the Apache License (Version 2.0)
4// or the GNU Lesser General Public License.
6
7#ifndef MULTISEARCHER_H
8#define MULTISEARCHER_H
9
10#include "Searcher.h"
11#include "Collector.h"
12
13namespace Lucene {
14
19class LPPAPI MultiSearcher : public Searcher {
20public:
23
24 virtual ~MultiSearcher();
25
27
28protected:
31 int32_t _maxDoc;
32
33public:
34 using Searcher::search;
35
38
39 virtual void close();
40 virtual int32_t docFreq(const TermPtr& term);
41 virtual DocumentPtr doc(int32_t n);
42 virtual DocumentPtr doc(int32_t n, const FieldSelectorPtr& fieldSelector);
43
45 int32_t subSearcher(int32_t n);
46
48 int32_t subDoc(int32_t n);
49
50 virtual int32_t maxDoc();
51 virtual TopDocsPtr search(const WeightPtr& weight, const FilterPtr& filter, int32_t n);
52 virtual TopFieldDocsPtr search(const WeightPtr& weight, const FilterPtr& filter, int32_t n, const SortPtr& sort);
53 virtual void search(const WeightPtr& weight, const FilterPtr& filter, const CollectorPtr& results);
54 virtual QueryPtr rewrite(const QueryPtr& query);
55 virtual ExplanationPtr explain(const WeightPtr& weight, int32_t doc);
56
57protected:
59
73 virtual WeightPtr createWeight(const QueryPtr& query);
74};
75
76}
77
78#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Utility template class to handle collections that can be safely copied and shared.
Definition Collection.h:17
Implements search over a set of Searchables.
Definition MultiSearcher.h:19
virtual void search(const WeightPtr &weight, const FilterPtr &filter, const CollectorPtr &results)
Lower-level search API.
Collection< int32_t > getStarts()
Collection< SearchablePtr > getSearchables()
Return the array of Searchables this searches.
Collection< SearchablePtr > searchables
Definition MultiSearcher.h:29
virtual void close()
Frees resources associated with this Searcher. Be careful not to call this method while you are still...
int32_t subDoc(int32_t n)
Returns the document number of document n within its sub-index.
virtual WeightPtr createWeight(const QueryPtr &query)
Create weight in multiple index scenario.
virtual QueryPtr rewrite(const QueryPtr &query)
Called to re-write queries into primitive queries.
virtual int32_t maxDoc()
Returns one greater than the largest possible document number.
virtual TopFieldDocsPtr search(const WeightPtr &weight, const FilterPtr &filter, int32_t n, const SortPtr &sort)
Low-level search implementation with arbitrary sorting. Finds the top n hits for query,...
virtual DocumentPtr doc(int32_t n, const FieldSelectorPtr &fieldSelector)
Get the Document at the n'th position. The FieldSelector may be used to determine what Fields to load...
MultiSearcher(Collection< SearchablePtr > searchables)
Creates a searcher which searches searchers.
Collection< int32_t > starts
Definition MultiSearcher.h:30
virtual TopDocsPtr search(const WeightPtr &weight, const FilterPtr &filter, int32_t n)
Low-level search implementation. Finds the top n hits for query, applying filter if non-null....
virtual ExplanationPtr explain(const WeightPtr &weight, int32_t doc)
Low-level implementation method. Returns an Explanation that describes how doc scored against weight.
virtual int32_t docFreq(const TermPtr &term)
Returns the number of documents containing term.
virtual DocumentPtr doc(int32_t n)
Returns the stored fields of document i.
int32_t _maxDoc
Definition MultiSearcher.h:31
int32_t subSearcher(int32_t n)
Returns index of the searcher for document n in the array used to construct this searcher.
An abstract base class for search implementations. Implements the main search methods.
Definition Searcher.h:18
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< TopDocs > TopDocsPtr
Definition LuceneTypes.h:471
boost::shared_ptr< Query > QueryPtr
Definition LuceneTypes.h:420
boost::shared_ptr< FieldSelector > FieldSelectorPtr
Definition LuceneTypes.h:77
boost::shared_ptr< Term > TermPtr
Definition LuceneTypes.h:233
boost::shared_ptr< Collector > CollectorPtr
Definition LuceneTypes.h:295
boost::shared_ptr< Explanation > ExplanationPtr
Definition LuceneTypes.h:333
boost::shared_ptr< Sort > SortPtr
Definition LuceneTypes.h:442
boost::shared_ptr< TopFieldDocs > TopFieldDocsPtr
Definition LuceneTypes.h:474
boost::shared_ptr< Document > DocumentPtr
Definition LuceneTypes.h:74
boost::shared_ptr< Filter > FilterPtr
Definition LuceneTypes.h:358
boost::shared_ptr< Weight > WeightPtr
Definition LuceneTypes.h:480

clucene.sourceforge.net