Skip to content

Commit

Permalink
Merge pull request blevesearch#524 from mschoch/fix523
Browse files Browse the repository at this point in the history
fix edge ngram output when side=Back and input token len=max
  • Loading branch information
mschoch authored Jan 31, 2017
2 parents d40cfb0 + 782dbec commit d48d2b6
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
2 changes: 1 addition & 1 deletion analysis/token/edgengram/edgengram.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func (s *EdgeNgramFilter) Filter(input analysis.TokenStream) analysis.TokenStrea
// index of the starting rune for this token
for ngramSize := s.minLength; ngramSize <= s.maxLength; ngramSize++ {
// build an ngram of this size starting at i
if i-ngramSize > 0 {
if i-ngramSize >= 0 {
ngramTerm := analysis.BuildTermFromRunes(runes[i-ngramSize : i])
token := analysis.Token{
Position: token.Position,
Expand Down
42 changes: 42 additions & 0 deletions analysis/token/edgengram/edgengram_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,48 @@ func TestEdgeNgramFilter(t *testing.T) {
},
},
},
{
side: BACK,
min: 3,
max: 5,
input: analysis.TokenStream{
&analysis.Token{
Term: []byte("Beryl"),
},
},
output: analysis.TokenStream{
&analysis.Token{
Term: []byte("ryl"),
},
&analysis.Token{
Term: []byte("eryl"),
},
&analysis.Token{
Term: []byte("Beryl"),
},
},
},
{
side: FRONT,
min: 3,
max: 5,
input: analysis.TokenStream{
&analysis.Token{
Term: []byte("Beryl"),
},
},
output: analysis.TokenStream{
&analysis.Token{
Term: []byte("Ber"),
},
&analysis.Token{
Term: []byte("Bery"),
},
&analysis.Token{
Term: []byte("Beryl"),
},
},
},
}

for _, test := range tests {
Expand Down

0 comments on commit d48d2b6

Please sign in to comment.