Monorepo for Tangled
tangled.org
1package bleveutil
2
3import (
4 "github.com/blevesearch/bleve/v2"
5 "github.com/blevesearch/bleve/v2/search/query"
6)
7
8func MatchAndQuery(field, keyword, analyzer string, fuzziness int) query.Query {
9 q := bleve.NewMatchQuery(keyword)
10 q.FieldVal = field
11 q.Analyzer = analyzer
12 q.Fuzziness = fuzziness
13 return q
14}
15
16func MatchPhraseQuery(field, phrase, analyzer string) query.Query {
17 q := bleve.NewMatchPhraseQuery(phrase)
18 q.FieldVal = field
19 q.Analyzer = analyzer
20 return q
21}
22
23func BoolFieldQuery(field string, val bool) query.Query {
24 q := bleve.NewBoolFieldQuery(val)
25 q.FieldVal = field
26 return q
27}
28
29func KeywordFieldQuery(field, keyword string) query.Query {
30 q := bleve.NewTermQuery(keyword)
31 q.FieldVal = field
32 return q
33}
34
35func NumericRangeQuery(field string, min, max *float64) query.Query {
36 q := bleve.NewNumericRangeQuery(min, max)
37 q.FieldVal = field
38 return q
39}