You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by duriku <ku...@gmail.com> on 2019/10/17 10:48:53 UTC
Re: How groupingSearch specifies SortedNumericDocValuesField
Hi, I managed to retrive the groups using the *SortedSetDocValuesField* in
*GroupingSearch* by initialising the groupsearch with *SortedSetFieldSource*
The problem is when a document has multiple values in the field
"SortedSetDocValuesField" than not the grouping query does not return all
the groups.
Let me demonstrate it in my example
// indexing, the first object has the category "one" and the second object
has category "two" and "three"
Document doc = new Document();
doc.add(new FacetField("Author", "Bob"));
doc.add(new SortedSetDocValuesField("category", new BytesRef("one")));
indexWriter.addDocument(config.build(taxoWriter, doc));
doc = new Document();
doc.add(new FacetField("Author", "Lisa"));
doc.add(new SortedSetDocValuesField("category", new BytesRef("two")));
doc.add(new SortedSetDocValuesField("category", new BytesRef("three")));
indexWriter.addDocument(config.build(taxoWriter, doc));
// initializing the grouping search
ValueSource vs = new SortedSetFieldSource(groupField);
groupingSearch = new GroupingSearch(vs, new HashMap<>());
// performing the group search
TopGroups groups = groupingSearch.search(searcher, new MatchAllDocsQuery(),
0, 100);
It returns 2 groups only and I would expect 3 groups ("one", "two" and
"three")
Is it a bug? Or am I using the API in a wrong way?
--
Sent from: https://lucene.472066.n3.nabble.com/Lucene-Java-Users-f532864.html
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org