def dumpDocs(self, sort, docs): print "Sorted by:", sort for scoreDoc in docs.scoreDocs: fieldDoc = FieldDoc.cast_(scoreDoc) distance = Double.cast_(fieldDoc.fields[0]).doubleValue() doc = self.searcher.doc(fieldDoc.doc) print " %(name)s @ (%(location)s) ->" %doc, distance
def dumpDocs(self, sort, docs): print "Sorted by:", sort for scoreDoc in docs.scoreDocs: fieldDoc = FieldDoc.cast_(scoreDoc) distance = Double.cast_(fieldDoc.fields[0]).doubleValue() doc = self.searcher.doc(fieldDoc.doc) print " %(name)s @ (%(location)s) ->" % doc, distance
def testNeareastRestaurantToWork(self): sort = Sort(SortField("location", DistanceComparatorSource(10, 10))) docs = self.searcher.search(self.query, None, 3, sort) self.assertEqual(4, docs.totalHits) self.assertEqual(3, len(docs.scoreDocs)) fieldDoc = FieldDoc.cast_(docs.scoreDocs[0]) distance = Double.cast_(fieldDoc.fields[0]).doubleValue() self.assertEqual(sqrt(17), distance, "(10,10) -> (9,6) = sqrt(17)") document = self.searcher.doc(fieldDoc.doc) self.assertEqual("Los Betos", document["name"]) self.dumpDocs(sort, docs)
def value(_self, slot): return Double(_self.values[slot])