func NewTermSearcher(indexReader index.IndexReader, term string, field string, boost float64, explain bool) (*TermSearcher, error) { reader, err := indexReader.TermFieldReader([]byte(term), field) if err != nil { return nil, err } scorer := scorers.NewTermQueryScorer(term, field, boost, indexReader.DocCount(), reader.Count(), explain) return &TermSearcher{ indexReader: indexReader, term: term, field: field, explain: explain, reader: reader, scorer: scorer, }, nil }
func NewMatchAllSearcher(indexReader index.IndexReader, boost float64, explain bool) (*MatchAllSearcher, error) { reader, err := indexReader.DocIDReaderAll() if err != nil { return nil, err } count, err := indexReader.DocCount() if err != nil { return nil, err } scorer := scorers.NewConstantScorer(1.0, boost, explain) return &MatchAllSearcher{ indexReader: indexReader, reader: reader, scorer: scorer, count: count, }, nil }