couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rory Franklin <r...@chillibean.tv>
Subject Re: CouchDB Lucene boost problem
Date Wed, 20 Jun 2012 14:13:34 GMT
The term we are searching for (just a numeric ID) exists in two places depending on the document.
Either as an "entry_human_id" which is the ID of that specific document, or within an array
of "linked_entry_human_ids" where the document is linked to another document.

What we want is the document that matches the ID to the entry_human_id comes above any documents
that match the ID in the linked_entry_human_ids (hence the boost on entry_human_id), but this
doesn't seem to be happening.

Would that be better suited to a query-time boost? If so, is there a specific way to boost
a term in the query as I cannot see one in the readme.



Rory


On Wednesday, 20 June 2012 at 15:07, Robert Newson wrote:

> 
> There's index-time and query-time boosting, perhaps that explains it?
> 
> 
> On 20 Jun 2012, at 14:35, Rory Franklin wrote:
> 
> > The error is now gone, which is great. Thanks so much for fixing that so quickly!
> > 
> > Looking at the results of the search (with debug on for readability), it doesn't
look like the boost is actually getting applied? I have a boost on another field (same name,
but without the sort_ prefix) and in the BooleanQuery section of the search result it looks
like this:
> > 
> > entry_human_id:1220091,boost=1.0
> > The value in the index is actually 1.5. Is it the case that the boost isn't taking
effect or that my query doesn't manually boost that field?
> > 
> > Rory
> > 
> > 
> > On Wednesday, 20 June 2012 at 13:21, Robert Newson wrote:
> > 
> > > anyway, I fixed it. 
> > > 
> > > You'll need to delete the index already built, though, and I'd love to hear
back from you when you try it.
> > > 
> > > B.
> > > 
> > > On 20 Jun 2012, at 12:05, Rory Franklin wrote:
> > > 
> > > > Hi,
> > > > 
> > > > We've got a machine with couchdb-lucene 0.9 on it and various machines
that use 0.7 and there seems to be a discrepancy between the two versions.
> > > > 
> > > > In one of our indexes we are boosting a particular field so that it comes
above others in search results (we are searching for an ID and linked ID's in other documents,
but want the document that matches the ID directly to return above the linked documents),
and the definition looks like this:
> > > > 
> > > > ret.add(doc.entry_human_id, {'field':'sort_entry_human_id', 'type' : 'int',
'boost' : 1.5})
> > > > 
> > > > On 0.7 this works absolutely fine, but on 0.9 we are seeing this error:
> > > > 
> > > > 2012-06-20 10:48:04,251 WARN [lia_development] Exiting due to exception.
> > > > java.lang.UnsupportedOperationException: You cannot set an index-time
boost: norms are omitted for field 'sort_entry_human_id'
> > > > at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:85)
> > > > at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:276)
> > > > at org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:852)
> > > > at org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:2167)
> > > > at com.github.rnewson.couchdb.lucene.DatabaseIndexer.handleResponse(DatabaseIndexer.java:393)
> > > > at com.github.rnewson.couchdb.lucene.DatabaseIndexer.handleResponse(DatabaseIndexer.java:83)
> > > > at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:735)
> > > > at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:709)
> > > > at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:700)
> > > > at com.github.rnewson.couchdb.lucene.DatabaseIndexer.run(DatabaseIndexer.java:473)
> > > > at java.lang.Thread.run(Thread.java:680)
> > > > 
> > > > 
> > > > 
> > > > Removing the boost and restarting couchdb-lucene resolves the issue, I'm
just curious as to what the problem may be?
> > > > 
> > > > 
> > > > 
> > > > Thanks,
> > > > Rory
> > > > 
> > > 
> > > 
> > 
> > 
> 
> 
> 



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message