/* Create a new searcher over the reader. This searcher might randomly use threads. If maybeWrap is true, this searcher migt wrap the reader with one that return nil for sequentialSubReaders. */ func newSearcher(r index.IndexReader, maybeWrap bool) *ts.AssertingIndexSearcher { random := Random() var err error // By default, GoLucene would make use of Goroutines to do // concurrent search and collect // // if util.Usually(random) { if maybeWrap { r, err = maybeWrapReader(r) assert(err == nil) } if random.Intn(2) == 0 { ss := ts.NewAssertingIndexSearcher(random, r) ss.SetSimilarity(ClassEnvRule.similarity) return ss } ss := ts.NewAssertingIndexSearcherFromContext(random, r.Context()) ss.SetSimilarity(ClassEnvRule.similarity) return ss // } }
func NewIndexSearcher(r index.IndexReader) IndexSearcher { log.Print("Initializing IndexSearcher from IndexReader: ", r) return NewIndexSearcherFromContext(r.Context()) }