diff --git a/bleve_indexer_test.go b/bleve_indexer_test.go index 69d12b4..b26d9dc 100644 --- a/bleve_indexer_test.go +++ b/bleve_indexer_test.go @@ -2,6 +2,7 @@ package main import ( "log" + "path/filepath" "time" . "gopkg.in/check.v1" @@ -16,7 +17,7 @@ var _ = Suite(&BleveIndexerSuite{}) func (s *BleveIndexerSuite) SetUpSuite(c *C) { var err error start := time.Now() - s.i, err = NewBleveIndexer("satbd-test.bar.satellite") + s.i, err = NewBleveIndexer(filepath.Join(c.MkDir(), "satbd-test.bar.satellite")) c.Assert(err, IsNil) for _, a := range albumsDataTest { c.Assert(s.i.Index(&a), IsNil) @@ -42,18 +43,19 @@ func (s *BleveIndexerSuite) TestCanDeleteAlbum(c *C) { } func (s *BleveIndexerSuite) TestCanSearch(c *C) { - data := map[string][]AlbumID{ - "Black Crow Hermione": []AlbumID{albumsDataTest[10].ID}, - "Plantu": []AlbumID{albumsDataTest[2].ID}, - "FOOOOOOOBAAAAAR": []AlbumID{}, + data := map[string]map[AlbumID]bool{ + "frégate": map[AlbumID]bool{albumsDataTest[10].ID: true}, + "Éditeur:Dupuis": map[AlbumID]bool{8179: true, 9935: true, 160366: true}, + "FOOOOOOOBAAAAAR": map[AlbumID]bool{}, } start := time.Now() for q, expected := range data { res, err := s.i.Search(q) if c.Check(err, IsNil) == true { if c.Check(len(res), Equals, len(expected)) == true { - for idx, resAlbum := range res { - c.Check(resAlbum.ID, Equals, expected[idx]) + for _, resAlbum := range res { + _, ok := expected[resAlbum.ID] + c.Check(ok, Equals, true, Commentf("Looking for %d in %s", resAlbum.ID, expected)) } } } diff --git a/indexer.go b/indexer.go index 0440494..420f284 100644 --- a/indexer.go +++ b/indexer.go @@ -158,6 +158,7 @@ func (i *bleveIndexer) Search(query string) ([]*Album, error) { blq := bleve.NewQueryStringQuery(query) search := bleve.NewSearchRequest(blq) + search.Highlight = bleve.NewHighlight() searchResults, err := i.bl.Search(search) if err != nil { return nil, fmt.Errorf("Could not perform search on the index: %s", err)