zoekt: verbose flag prints shard metadata
This is a convenient way to look at the metadata for a shard. Now when
you run the zoekt command on a shard with the verbose flag we will log
the shard's metadata.
Change-Id: I14a7711b0bcd7a8582fbf3e5cfa1caa5f3d6fe7a
diff --git a/cmd/zoekt/main.go b/cmd/zoekt/main.go
index d39f4f1..035e8fa 100644
--- a/cmd/zoekt/main.go
+++ b/cmd/zoekt/main.go
@@ -46,7 +46,7 @@
}
}
-func loadShard(fn string) (zoekt.Searcher, error) {
+func loadShard(fn string, verbose bool) (zoekt.Searcher, error) {
f, err := os.Open(fn)
if err != nil {
return nil, err
@@ -56,12 +56,23 @@
if err != nil {
return nil, err
}
+
s, err := zoekt.NewSearcher(iFile)
if err != nil {
iFile.Close()
return nil, fmt.Errorf("NewSearcher(%s): %v", fn, err)
}
+ if verbose {
+ repo, index, err := zoekt.ReadMetadata(iFile)
+ if err != nil {
+ iFile.Close()
+ return nil, fmt.Errorf("ReadMetadata(%s): %v", fn, err)
+ }
+ log.Printf("repo metadata: %#v", repo)
+ log.Printf("index metadata: %#v", index)
+ }
+
return s, nil
}
@@ -94,7 +105,7 @@
var searcher zoekt.Searcher
var err error
if *shard != "" {
- searcher, err = loadShard(*shard)
+ searcher, err = loadShard(*shard, *verbose)
} else {
searcher, err = shards.NewDirectorySearcher(*index)
}