You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2022/04/21 16:39:46 UTC
[lucene] branch main updated: Add two facet tests (#826)
This is an automated email from the ASF dual-hosted git repository.
jpountz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/lucene.git
The following commit(s) were added to refs/heads/main by this push:
new 08f848a5828 Add two facet tests (#826)
08f848a5828 is described below
commit 08f848a5828decf234badbd520cb1d52532bd5da
Author: Chris Hegarty <62...@users.noreply.github.com>
AuthorDate: Thu Apr 21 17:39:41 2022 +0100
Add two facet tests (#826)
---
.../facet/taxonomy/TestTaxonomyFacetCounts.java | 110 +++++++++++++++++++++
1 file changed, 110 insertions(+)
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java
index e46835cb349..ee5ac799d19 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java
@@ -731,6 +731,116 @@ public class TestTaxonomyFacetCounts extends FacetTestCase {
IOUtils.close(taxoWriter, taxoReader, taxoDir, r, indexDir);
}
+ public void testMultiValuedFieldCountAll() throws Exception {
+
+ Directory dir = newDirectory();
+ Directory taxoDir = newDirectory();
+
+ DirectoryTaxonomyWriter taxoWriter =
+ new DirectoryTaxonomyWriter(taxoDir, IndexWriterConfig.OpenMode.CREATE);
+
+ FacetsConfig config = new FacetsConfig();
+ config.setHierarchical("Publish Date", true);
+
+ RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
+
+ Document doc = new Document();
+ doc.add(new StringField("id", "0", Field.Store.NO));
+ doc.add(new FacetField("Author", "Bob"));
+ doc.add(new FacetField("Publish Date", "2010", "10", "15"));
+ writer.addDocument(config.build(taxoWriter, doc));
+
+ doc = new Document();
+ doc.add(new StringField("id", "1", Field.Store.NO));
+ doc.add(new FacetField("Author", "Lisa"));
+ doc.add(new FacetField("Publish Date", "2010", "10", "20"));
+ writer.addDocument(config.build(taxoWriter, doc));
+
+ IndexSearcher searcher1 = newSearcher(writer.getReader());
+ TaxonomyReader taxoReader = new DirectoryTaxonomyReader(taxoWriter);
+ Facets facets =
+ new FastTaxonomyFacetCounts(
+ FacetsConfig.DEFAULT_INDEX_FIELD_NAME, searcher1.getIndexReader(), taxoReader, config);
+
+ assertEquals(
+ "dim=Author path=[] value=2 childCount=2\n Bob (1)\n Lisa (1)",
+ facets.getTopChildren(10, "Author").toString().trim());
+
+ // -- delete to trigger liveDocs != null
+ writer.deleteDocuments(new Term("id", "0"));
+ IndexSearcher searcher2 = newSearcher(writer.getReader());
+ facets =
+ new FastTaxonomyFacetCounts(
+ FacetsConfig.DEFAULT_INDEX_FIELD_NAME, searcher2.getIndexReader(), taxoReader, config);
+
+ assertEquals(
+ "dim=Author path=[] value=1 childCount=1\n Lisa (1)",
+ facets.getTopChildren(10, "Author").toString().trim());
+
+ IOUtils.close(
+ writer,
+ taxoWriter,
+ searcher1.getIndexReader(),
+ searcher2.getIndexReader(),
+ taxoReader,
+ taxoDir,
+ dir);
+ }
+
+ public void testCountAllSingleValuedField() throws Exception {
+
+ Directory dir = newDirectory();
+ Directory taxoDir = newDirectory();
+
+ DirectoryTaxonomyWriter taxoWriter =
+ new DirectoryTaxonomyWriter(taxoDir, IndexWriterConfig.OpenMode.CREATE);
+
+ FacetsConfig config = new FacetsConfig();
+ config.setHierarchical("Author", true);
+
+ RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
+
+ Document doc = new Document();
+ doc.add(new StringField("id", "0", Field.Store.NO));
+ doc.add(new FacetField("Author", "Bob"));
+ writer.addDocument(config.build(taxoWriter, doc));
+
+ doc = new Document();
+ doc.add(new StringField("id", "1", Field.Store.NO));
+ doc.add(new FacetField("Author", "Lisa"));
+ writer.addDocument(config.build(taxoWriter, doc));
+
+ IndexSearcher searcher1 = newSearcher(writer.getReader());
+ TaxonomyReader taxoReader = new DirectoryTaxonomyReader(taxoWriter);
+ Facets facets =
+ new FastTaxonomyFacetCounts(
+ FacetsConfig.DEFAULT_INDEX_FIELD_NAME, searcher1.getIndexReader(), taxoReader, config);
+
+ assertEquals(
+ "dim=Author path=[] value=2 childCount=2\n Bob (1)\n Lisa (1)",
+ facets.getTopChildren(10, "Author").toString().trim());
+
+ // -- delete to trigger liveDocs != null
+ writer.deleteDocuments(new Term("id", "0"));
+ IndexSearcher searcher2 = newSearcher(writer.getReader());
+ facets =
+ new FastTaxonomyFacetCounts(
+ FacetsConfig.DEFAULT_INDEX_FIELD_NAME, searcher2.getIndexReader(), taxoReader, config);
+
+ assertEquals(
+ "dim=Author path=[] value=1 childCount=1\n Lisa (1)",
+ facets.getTopChildren(10, "Author").toString().trim());
+
+ IOUtils.close(
+ writer,
+ taxoWriter,
+ searcher1.getIndexReader(),
+ searcher2.getIndexReader(),
+ taxoReader,
+ taxoDir,
+ dir);
+ }
+
private void indexTwoDocs(
TaxonomyWriter taxoWriter, IndexWriter indexWriter, FacetsConfig config, boolean withContent)
throws Exception {