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)
+}