var serializer = Components.classes["@mozilla.org/rdf/xml-serializer;1"].createInstance(Components.interfaces.nsIRDFXMLSerializer); var atomService = Components.classes["@mozilla.org/atom-service;1"].createInstance(Components.interfaces.nsIAtomService); var outputStream = { data: "", close : function(){}, flush : function(){}, write : function (buffer,count){ this.data += buffer; return count; }, writeFrom : function (stream,count){}, isNonBlocking: false } var XPCLUCENESERVICE_CONTRACTID = "@skrul.com/xpclucene;1"; var service = Components.classes[XPCLUCENESERVICE_CONTRACTID].getService(Components.interfaces.nsILuceneFactory); var analyzer = service.getAnalyzer(0); var query = service.parseQuery("home", "content", analyzer); var indexSearcher = service.getIndexSearcherFromPath("/home/steve/dev/mozilla/extensions/xpclucene/test/index5"); var hits = indexSearcher.search(query); //print(hits.score(0)); hits.QueryInterface(Components.interfaces.nsIRDFDataSource); serializer.addNameSpace(atomService.getAtom("awol"), "http://www.w3.org/2005/Atom#"); serializer.addNameSpace(atomService.getAtom("logb"), "http://logb.org/2005/IndexEntry#"); serializer.init(hits); serializer.QueryInterface(Components.interfaces.nsIRDFXMLSource); serializer.Serialize(outputStream); print(outputStream.data);