コード例 #1
0
ファイル: query_phrase.go プロジェクト: neozhangthe1/bleve
func (q *phraseQuery) Searcher(i index.IndexReader, m *IndexMapping, explain bool) (search.Searcher, error) {

	conjunctionQuery := NewConjunctionQuery(q.termQueries)
	conjunctionSearcher, err := conjunctionQuery.Searcher(i, m, explain)
	if err != nil {
		return nil, err
	}
	return searchers.NewPhraseSearcher(i, conjunctionSearcher.(*searchers.ConjunctionSearcher), q.Terms)
}
コード例 #2
0
ファイル: query_phrase.go プロジェクト: jingweno/bleve
func (q *phraseQuery) Searcher(i index.IndexReader, m *IndexMapping, explain bool) (search.Searcher, error) {

	terms := make([]string, len(q.Terms))
	for i, term := range q.Terms {
		terms[i] = term.(*termQuery).Term
	}

	conjunctionQuery := NewConjunctionQuery(q.Terms)
	conjunctionSearcher, err := conjunctionQuery.Searcher(i, m, explain)
	if err != nil {
		return nil, err
	}
	return searchers.NewPhraseSearcher(i, conjunctionSearcher.(*searchers.ConjunctionSearcher), terms)
}