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  // }