You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2015/12/28 21:10:56 UTC
[09/16] lucy git commit: Tune and test HighlightReader Go bindings.
Tune and test HighlightReader Go bindings.
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/a405c397
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/a405c397
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/a405c397
Branch: refs/heads/master
Commit: a405c39703da14ede15b1b20a54bf63165b32df5
Parents: 6deeba8
Author: Marvin Humphrey <ma...@rectangular.com>
Authored: Thu Dec 10 17:05:05 2015 -0800
Committer: Marvin Humphrey <ma...@rectangular.com>
Committed: Thu Dec 10 18:22:54 2015 -0800
----------------------------------------------------------------------
go/build.go | 4 ++++
go/lucy/index.go | 10 ++++++++++
go/lucy/index_test.go | 14 ++++++++++++++
3 files changed, 28 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/a405c397/go/build.go
----------------------------------------------------------------------
diff --git a/go/build.go b/go/build.go
index 30a4703..a730160 100644
--- a/go/build.go
+++ b/go/build.go
@@ -210,6 +210,10 @@ func specClasses(parcel *cfc.Parcel) {
docReaderBinding.SpecMethod("Fetch_Doc", "FetchDoc(int32) (HitDoc, error)")
docReaderBinding.Register()
+ hlReaderBinding := cfc.NewGoClass(parcel, "Lucy::Index::HighlightReader")
+ hlReaderBinding.SpecMethod("Fetch_Doc_Vec", "FetchDocVec(int32) (DocVector, error)")
+ hlReaderBinding.Register()
+
bgMergerBinding := cfc.NewGoClass(parcel, "Lucy::Index::BackgroundMerger")
bgMergerBinding.SpecMethod("Prepare_Commit", "PrepareCommit() error")
bgMergerBinding.SpecMethod("Commit", "Commit() error")
http://git-wip-us.apache.org/repos/asf/lucy/blob/a405c397/go/lucy/index.go
----------------------------------------------------------------------
diff --git a/go/lucy/index.go b/go/lucy/index.go
index 67d4b47..09ad6ec 100644
--- a/go/lucy/index.go
+++ b/go/lucy/index.go
@@ -21,6 +21,7 @@ package lucy
#include "Lucy/Index/IndexReader.h"
#include "Lucy/Index/DataReader.h"
#include "Lucy/Index/DocReader.h"
+#include "Lucy/Index/HighlightReader.h"
#include "Lucy/Index/IndexManager.h"
#include "Lucy/Index/BackgroundMerger.h"
#include "Lucy/Index/TermVector.h"
@@ -484,6 +485,15 @@ func (d *DocReaderIMP) FetchDoc(docID int32) (doc HitDoc, err error) {
return doc, err
}
+func (h *HighlightReaderIMP) FetchDocVec(docID int32) (retval DocVector, err error) {
+ err = clownfish.TrapErr(func() {
+ self := (*C.lucy_HighlightReader)(clownfish.Unwrap(h, "h"))
+ retvalCF := C.LUCY_HLReader_Fetch_Doc_Vec(self, C.int32_t(docID))
+ retval = WRAPDocVector(unsafe.Pointer(retvalCF))
+ })
+ return retval, err
+}
+
func OpenIndexReader(index interface{}, snapshot Snapshot, manager IndexManager) (retval IndexReader, err error) {
err = clownfish.TrapErr(func() {
indexC := (*C.cfish_Obj)(clownfish.GoToClownfish(index, unsafe.Pointer(C.CFISH_OBJ), false))
http://git-wip-us.apache.org/repos/asf/lucy/blob/a405c397/go/lucy/index_test.go
----------------------------------------------------------------------
diff --git a/go/lucy/index_test.go b/go/lucy/index_test.go
index e44bb09..e75ede4 100644
--- a/go/lucy/index_test.go
+++ b/go/lucy/index_test.go
@@ -819,3 +819,17 @@ func TestPolyDocReaderMisc(t *testing.T) {
}
runDataReaderCommon(t, reader, true)
}
+
+func TestHighlightReaderMisc(t *testing.T) {
+ folder := createTestIndex("a", "b", "c")
+ ixReader, _ := OpenIndexReader(folder, nil, nil)
+ segReaders := ixReader.SegReaders()
+ reader := segReaders[0].Fetch("Lucy::Index::HighlightReader").(HighlightReader)
+ if got, err := reader.FetchDocVec(2); got == nil || err != nil {
+ t.Errorf("FetchDocVec: %v", err)
+ }
+ if got, err := reader.FetchDocVec(4); got != nil || err == nil {
+ t.Errorf("FetchDocVec catch error: %#v", got)
+ }
+ runDataReaderCommon(t, reader, true)
+}