github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/search/search_test.go (about) 1 package search 2 3 import ( 4 _ "github.com/balzaczyy/golucene/core/codec/lucene42" 5 "github.com/balzaczyy/golucene/core/index" 6 "github.com/balzaczyy/golucene/core/store" 7 "testing" 8 ) 9 10 func TestLastCommitGeneration(t *testing.T) { 11 d, err := store.OpenFSDirectory("testdata/belfrysample") 12 if err != nil { 13 t.Error(err) 14 } 15 files, err := d.ListAll() 16 if err != nil { 17 t.Error(err) 18 } 19 if files != nil { 20 genA := index.LastCommitGeneration(files) 21 if genA != 1 { 22 t.Error("Should be 1, but was %v", genA) 23 } 24 } 25 } 26 27 func TestKeywordSearch(t *testing.T) { 28 d, err := store.OpenFSDirectory("testdata/belfrysample") 29 if err != nil { 30 t.Error(err) 31 } 32 r, err := index.OpenDirectoryReader(d) 33 if err != nil { 34 t.Error(err) 35 } 36 if r == nil { 37 t.Error("DirectoryReader cannot be opened.") 38 } 39 if len(r.Leaves()) < 1 { 40 t.Error("Should have one leaf.") 41 } 42 ss := NewIndexSearcher(r) 43 docs, err := ss.SearchTop(NewTermQuery(index.NewTerm("content", "bat")), 10) 44 if err != nil { 45 t.Error(err) 46 } 47 48 assertEquals(t, 8, docs.TotalHits) 49 doc, err := r.Document(docs.ScoreDocs[0].Doc) 50 if err != nil { 51 t.Error(err) 52 } 53 assertEquals(t, "Bat recycling", doc.Get("title")) 54 } 55 56 // func TestSingleSearch(t *testing.T) { 57 // ss := NewSearcher() 58 // ss.IncludeIndex("testdata/belfrysample") 59 // assertEquals(t, 8, ss.search("bat")) 60 61 // ss = NewSearcher() 62 // ss.IncludeIndex("testdata/usingworldtimepro") 63 // assertEquals(t, 16, ss.search("time")) 64 // } 65 66 func assertEquals(t *testing.T, a, b interface{}) { 67 if a != b { 68 t.Errorf("Expected '%v', but '%v'", a, b) 69 } 70 } 71 72 // func TestFederatedSearch(t *testing.T) { 73 // ss := NewSearcher() 74 // ss.IncludeIndex("testdata/belfrysample") 75 // ss.IncludeIndex("testdata/usingworldtimepro") 76 // assertEquals(t, 17, ss.search("time")) 77 // }