0
0
Fork 0

added tests to cover untested code

fixed bug in conjunction next impl
This commit is contained in:
Marty Schoch 2014-04-24 16:09:50 -06:00
parent 0be5cffd21
commit b78b1988a7
4 changed files with 69 additions and 169 deletions

View File

@ -19,15 +19,19 @@ var twoDocIndexDocs = []*document.Document{
// must have 4/4 beer
document.NewDocument("1").
AddField(document.NewTextField("name", []byte("marty"))).
AddField(document.NewTextField("desc", []byte("beer beer beer beer"))),
AddField(document.NewTextField("desc", []byte("beer beer beer beer"))).
AddField(document.NewTextField("street", []byte("couchbase way"))),
// must have 1/4 beer
document.NewDocument("2").
AddField(document.NewTextField("name", []byte("steve"))).
AddField(document.NewTextField("desc", []byte("angst beer couch database"))),
AddField(document.NewTextField("desc", []byte("angst beer couch database"))).
AddField(document.NewTextField("street", []byte("couchbase way"))).
AddField(document.NewTextField("title", []byte("mister"))),
// must have 1/4 beer
document.NewDocument("3").
AddField(document.NewTextField("name", []byte("dustin"))).
AddField(document.NewTextField("desc", []byte("apple beer column dank"))),
AddField(document.NewTextField("desc", []byte("apple beer column dank"))).
AddField(document.NewTextField("title", []byte("mister"))),
// must have 65/65 beer
document.NewDocument("4").
AddField(document.NewTextField("name", []byte("ravi"))).
@ -35,7 +39,8 @@ var twoDocIndexDocs = []*document.Document{
// must have 0/x beer
document.NewDocument("5").
AddField(document.NewTextField("name", []byte("bobert"))).
AddField(document.NewTextField("desc", []byte("water"))),
AddField(document.NewTextField("desc", []byte("water"))).
AddField(document.NewTextField("title", []byte("mister"))),
}
var twoDocIndex *mock.MockIndex = mock.NewMockIndexWithDocs(twoDocIndexDocs)

View File

@ -1,155 +0,0 @@
mode: set
github.com/couchbaselabs/bleve/search/explanation.go:22.42,24.16 2 0
github.com/couchbaselabs/bleve/search/explanation.go:27.2,27.19 1 0
github.com/couchbaselabs/bleve/search/explanation.go:24.16,26.3 1 0
github.com/couchbaselabs/bleve/search/scorer_term.go:34.100,46.13 2 1
github.com/couchbaselabs/bleve/search/scorer_term.go:53.2,53.12 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:46.13,51.3 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:56.44,59.2 2 1
github.com/couchbaselabs/bleve/search/scorer_term.go:61.55,67.15 3 1
github.com/couchbaselabs/bleve/search/scorer_term.go:67.15,83.3 5 1
github.com/couchbaselabs/bleve/search/scorer_term.go:86.79,91.9 3 1
github.com/couchbaselabs/bleve/search/scorer_term.go:143.2,143.21 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:147.2,151.15 2 1
github.com/couchbaselabs/bleve/search/scorer_term.go:155.2,155.60 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:171.2,171.12 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:91.9,94.38 2 1
github.com/couchbaselabs/bleve/search/scorer_term.go:100.3,102.16 2 1
github.com/couchbaselabs/bleve/search/scorer_term.go:121.3,121.27 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:135.3,135.39 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:94.38,96.4 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:96.5,98.4 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:102.16,118.4 5 1
github.com/couchbaselabs/bleve/search/scorer_term.go:121.27,123.17 2 1
github.com/couchbaselabs/bleve/search/scorer_term.go:123.17,132.5 4 1
github.com/couchbaselabs/bleve/search/scorer_term.go:135.39,137.17 2 1
github.com/couchbaselabs/bleve/search/scorer_term.go:137.17,139.5 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:143.21,145.3 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:151.15,153.3 1 1
github.com/couchbaselabs/bleve/search/scorer_term.go:155.60,157.39 2 1
github.com/couchbaselabs/bleve/search/scorer_term.go:165.3,168.36 4 1
github.com/couchbaselabs/bleve/search/scorer_term.go:157.39,164.4 2 1
github.com/couchbaselabs/bleve/search/query_term.go:22.37,24.2 1 1
github.com/couchbaselabs/bleve/search/query_term.go:26.67,28.2 1 1
github.com/couchbaselabs/bleve/search/query_term.go:30.38,32.2 1 0
github.com/couchbaselabs/bleve/search/query_term_conjunction.go:21.48,23.2 1 0
github.com/couchbaselabs/bleve/search/query_term_conjunction.go:25.78,27.2 1 0
github.com/couchbaselabs/bleve/search/query_term_conjunction.go:29.49,31.2 1 0
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:17.78,21.2 1 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:23.90,30.15 4 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:34.2,35.40 2 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:44.2,45.15 2 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:49.2,49.25 1 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:55.2,55.12 1 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:30.15,32.3 1 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:35.40,37.16 2 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:40.3,40.32 1 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:37.16,39.4 1 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:40.32,42.4 1 0
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:45.15,47.3 1 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:49.25,51.3 1 0
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:51.4,51.31 1 1
github.com/couchbaselabs/bleve/search/scorer_term_conjunction.go:51.31,53.3 1 0
github.com/couchbaselabs/bleve/search/sqrt_cache.go:19.13,21.38 2 1
github.com/couchbaselabs/bleve/search/sqrt_cache.go:21.38,23.3 1 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:24.54,29.2 1 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:31.47,33.2 1 0
github.com/couchbaselabs/bleve/search/collector_top_score.go:35.51,37.2 1 0
github.com/couchbaselabs/bleve/search/collector_top_score.go:39.53,41.2 1 0
github.com/couchbaselabs/bleve/search/collector_top_score.go:43.65,46.32 3 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:51.2,52.16 2 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:55.2,55.12 1 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:46.32,49.3 2 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:52.16,54.3 1 0
github.com/couchbaselabs/bleve/search/collector_top_score.go:58.65,63.30 2 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:67.2,67.56 1 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:81.2,82.33 2 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:63.30,65.3 1 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:67.56,69.28 2 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:69.28,73.35 2 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:77.4,77.10 1 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:73.35,76.5 1 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:82.33,85.3 1 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:88.66,91.55 3 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:95.2,95.11 1 1
github.com/couchbaselabs/bleve/search/collector_top_score.go:91.55,94.3 2 1
github.com/couchbaselabs/bleve/search/ordered_searchers_list.go:15.43,17.2 1 1
github.com/couchbaselabs/bleve/search/ordered_searchers_list.go:19.53,21.2 1 1
github.com/couchbaselabs/bleve/search/ordered_searchers_list.go:23.48,25.2 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:27.115,30.40 2 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:38.2,48.16 5 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:52.2,52.17 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:30.40,32.17 2 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:35.3,35.26 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:32.17,34.4 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:48.16,50.3 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:55.54,58.43 2 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:62.2,64.43 2 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:58.43,60.3 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:64.43,66.3 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:69.57,72.43 2 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:79.2,79.22 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:86.2,86.12 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:72.43,74.17 2 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:74.17,76.4 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:79.22,80.24 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:80.24,82.4 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:82.5,84.4 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:89.52,91.39 2 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:94.2,94.11 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:91.39,93.3 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:97.63,98.39 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:98.39,100.3 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:103.66,107.24 3 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:150.2,150.16 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:107.24,108.44 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:135.3,139.17 3 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:142.3,142.24 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:148.3,148.8 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:108.44,109.36 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:109.36,112.19 2 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:115.5,115.26 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:119.5,119.37 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:112.19,114.6 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:115.26,117.20 2 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:119.37,122.20 2 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:125.6,125.27 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:130.6,130.20 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:122.20,124.7 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:125.27,127.7 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:127.8,129.7 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:139.17,141.4 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:142.24,144.4 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:144.5,146.4 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:153.78,156.2 2 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:158.50,161.39 2 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:164.2,164.12 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:161.39,163.3 1 0
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:167.43,168.39 1 1
github.com/couchbaselabs/bleve/search/search_term_conjunction.go:168.39,170.3 1 1
github.com/couchbaselabs/bleve/search/search_term.go:22.82,24.16 2 1
github.com/couchbaselabs/bleve/search/search_term.go:27.2,33.8 2 1
github.com/couchbaselabs/bleve/search/search_term.go:24.16,26.3 1 0
github.com/couchbaselabs/bleve/search/search_term.go:36.39,38.2 1 1
github.com/couchbaselabs/bleve/search/search_term.go:40.41,42.2 1 1
github.com/couchbaselabs/bleve/search/search_term.go:44.52,46.2 1 1
github.com/couchbaselabs/bleve/search/search_term.go:48.55,50.16 2 1
github.com/couchbaselabs/bleve/search/search_term.go:54.2,54.22 1 1
github.com/couchbaselabs/bleve/search/search_term.go:59.2,61.22 2 1
github.com/couchbaselabs/bleve/search/search_term.go:50.16,52.3 1 0
github.com/couchbaselabs/bleve/search/search_term.go:54.22,56.3 1 1
github.com/couchbaselabs/bleve/search/search_term.go:65.67,67.16 2 1
github.com/couchbaselabs/bleve/search/search_term.go:71.2,71.22 1 1
github.com/couchbaselabs/bleve/search/search_term.go:76.2,79.22 2 1
github.com/couchbaselabs/bleve/search/search_term.go:67.16,69.3 1 0
github.com/couchbaselabs/bleve/search/search_term.go:71.22,73.3 1 1
github.com/couchbaselabs/bleve/search/search_term.go:82.32,84.2 1 1
github.com/couchbaselabs/bleve/search/util.go:11.76,14.38 2 0
github.com/couchbaselabs/bleve/search/util.go:26.2,26.11 1 0
github.com/couchbaselabs/bleve/search/util.go:14.38,16.53 2 0
github.com/couchbaselabs/bleve/search/util.go:16.53,18.18 2 0
github.com/couchbaselabs/bleve/search/util.go:18.18,20.5 1 0
github.com/couchbaselabs/bleve/search/util.go:20.6,22.5 1 0
github.com/couchbaselabs/bleve/search/util.go:29.71,30.39 1 0
github.com/couchbaselabs/bleve/search/util.go:35.2,35.11 1 0
github.com/couchbaselabs/bleve/search/util.go:30.39,34.3 1 0

View File

@ -83,6 +83,7 @@ func (s *TermConjunctionSearcher) initSearchers() error {
s.currentId = ""
}
}
return nil
}
@ -117,16 +118,9 @@ OUTER:
continue OUTER
}
if s.currs[i].ID != s.currentId {
// if it still doesn't have the currentId, next and start over
s.currs[i], err = termSearcher.Next()
if err != nil {
return nil, err
}
if s.currs[i] == nil {
s.currentId = ""
} else {
s.currentId = s.currs[i].ID
}
// we just advanced, so it doesn't match, it must be greater
// no need to call next
s.currentId = s.currs[i].ID
continue OUTER
}
}

View File

@ -94,6 +94,62 @@ func TestTermConjunctionSearch(t *testing.T) {
},
results: []*DocumentMatch{},
},
{
index: twoDocIndex,
query: &TermConjunctionQuery{
Terms: []Query{
&TermQuery{
Term: "beer",
Field: "desc",
BoostVal: 1.0,
Explain: true,
},
&TermQuery{
Term: "mister",
Field: "title",
BoostVal: 5.0,
Explain: true,
},
},
Explain: true,
},
results: []*DocumentMatch{
&DocumentMatch{
ID: "2",
Score: 1.2877980334016337,
},
&DocumentMatch{
ID: "3",
Score: 1.2877980334016337,
},
},
},
{
index: twoDocIndex,
query: &TermConjunctionQuery{
Terms: []Query{
&TermQuery{
Term: "couchbase",
Field: "street",
BoostVal: 1.0,
Explain: true,
},
&TermQuery{
Term: "mister",
Field: "title",
BoostVal: 5.0,
Explain: true,
},
},
Explain: true,
},
results: []*DocumentMatch{
&DocumentMatch{
ID: "2",
Score: 1.4436599157093672,
},
},
},
}
for testIndex, test := range tests {