[
https://issues.apache.org/jira/browse/LUCENE-4461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rodrigo Vega updated LUCENE-4461:
---------------------------------
Description:
Multiple FacetRequest are getting merged into one creating wrong results in
this case:
FacetSearchParams facetSearchParams = new FacetSearchParams();
facetSearchParams.addFacetRequest(new CountFacetRequest(new
CategoryPath("author"), 10));
facetSearchParams.addFacetRequest(new CountFacetRequest(new
CategoryPath("author"), 10));
Problem can be fixed by defining hashcode and equals in certain way that Lucene
recognize we are talking about different requests.
Attached test case.
was:
Multiple FacetRequest are getting merged into one creating wrong results in
this case:
FacetSearchParams facetSearchParams = new FacetSearchParams();
facetSearchParams.addFacetRequest(new CountFacetRequest(new
CategoryPath("author"), 10));
facetSearchParams.addFacetRequest(new CountFacetRequest(new
CategoryPath("author"), 10));
Problem can be fixed by defining hashcode and equals in certain way that Lucene
recognize we are talking about different requests.
A Very simple test case:
========================
public class LuceneFacetTest {
@Test
public void testDuplicateFacetRequest() throws Exception {
IndexWriter writer = new IndexWriter(new RAMDirectory(), new
IndexWriterConfig(Version.LUCENE_36, new StandardAnalyzer(Version.LUCENE_36)));
Directory taxoDir = new RAMDirectory();
TaxonomyWriter taxoWriter = new
DirectoryTaxonomyWriter(taxoDir, OpenMode.CREATE);
Document doc = new Document();
doc.add(new Field("title", "simple text title", Store.YES,
org.apache.lucene.document.Field.Index.ANALYZED));
List<CategoryPath> categories = new ArrayList<CategoryPath>();
categories.add(new CategoryPath("author", "Mark Twain"));
categories.add(new CategoryPath("year", "2010"));
CategoryDocumentBuilder categoryDocBuilder = new
CategoryDocumentBuilder(taxoWriter);
categoryDocBuilder.setCategoryPaths(categories);
categoryDocBuilder.build(doc);
writer.addDocument(doc);
writer.commit();
taxoWriter.commit();
IndexReader indexReader = IndexReader.open(writer, true);
IndexSearcher searcher = new IndexSearcher(indexReader);
TaxonomyReader taxoReader = new
DirectoryTaxonomyReader(taxoDir);
Query q = new TermQuery(new Term("title", "text"));
TopScoreDocCollector tdc = TopScoreDocCollector.create(10,
true);
FacetSearchParams facetSearchParams = new FacetSearchParams();
facetSearchParams.addFacetRequest(new CountFacetRequest(new
CategoryPath("author"), 10));
facetSearchParams.addFacetRequest(new CountFacetRequest(new
CategoryPath("author"), 10));
FacetsCollector facetsCollector = new
FacetsCollector(facetSearchParams, indexReader, taxoReader);
searcher.search(q, MultiCollector.wrap(tdc, facetsCollector));
List<FacetResult> res = facetsCollector.getFacetResults();
Assert.assertEquals("Only Mark Twain should be returned as
result", 1, res.get(0).getNumValidDescendants());
Assert.assertEquals("Only Mark Twain should be returned as
result", 1, res.get(1).getNumValidDescendants());
}
}
> Multiple FacetRequest with the same path creates inconsistent results
> ---------------------------------------------------------------------
>
> Key: LUCENE-4461
> URL: https://issues.apache.org/jira/browse/LUCENE-4461
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/facet
> Affects Versions: 3.6
> Reporter: Rodrigo Vega
> Labels: facet, faceted-search
> Attachments: LuceneFacetTest.java
>
>
> Multiple FacetRequest are getting merged into one creating wrong results in
> this case:
> FacetSearchParams facetSearchParams = new FacetSearchParams();
> facetSearchParams.addFacetRequest(new CountFacetRequest(new
> CategoryPath("author"), 10));
> facetSearchParams.addFacetRequest(new CountFacetRequest(new
> CategoryPath("author"), 10));
> Problem can be fixed by defining hashcode and equals in certain way that
> Lucene recognize we are talking about different requests.
> Attached test case.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]