github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/search/booleanClause.go (about) 1 package search 2 3 type Occur int 4 5 var ( 6 MUST = Occur(1) 7 SHOULD = Occur(2) 8 MUST_NOT = Occur(3) 9 ) 10 11 func (occur Occur) String() string { 12 switch occur { 13 case MUST: 14 return "+" 15 case SHOULD: 16 return "" 17 case MUST_NOT: 18 return "-" 19 } 20 panic("should not be here") 21 } 22 23 type BooleanClause struct { 24 query Query 25 occur Occur 26 } 27 28 func NewBooleanClause(query Query, occur Occur) *BooleanClause { 29 return &BooleanClause{ 30 query: query, 31 occur: occur, 32 } 33 } 34 35 func (c *BooleanClause) IsProhibited() bool { 36 return c.occur == MUST_NOT 37 } 38 39 func (c *BooleanClause) IsRequired() bool { 40 return c.occur == MUST 41 }