java.netlucenelucene.netzend-search-lucene

How can to group lucene's results?


My application indexes discussion threads. Each entry in the discussion is indexed as a separate Lucene document with a common_id field which can be used to group search hits into one discussion.

Currently when the search is performed, if a thread has 3 entries, then 3 separate hits are returned. Even though this is correct, from the users point of view the same entry is appearing in the search multiple times.

Is there a way to tell lucene to group it's search results by the common_id field before returning them?


Solution

  • There is nothing built into Lucene that collapses results based on a field. You will need to implement that yourself.

    However, they've recently built this feature into Solr.

    See http://www.lucidimagination.com/blog/2010/09/16/2446/