Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Namespace Lucene.Net.Facet.SortedSet

    Provides faceting capabilities over facets that were indexed with SortedSetDocValuesFacetField.

    Classes

    DefaultSortedSetDocValuesReaderState

    Default implementation of SortedSetDocValuesFacetCounts

    SortedSetDocValuesFacetCounts

    Compute facets counts from previously indexed SortedSetDocValuesFacetField, without require a separate taxonomy index. Faceting is a bit slower (~25%), and there is added cost on every Lucene.Net.Index.IndexReader open to create a new SortedSetDocValuesReaderState. Furthermore, this does not support hierarchical facets; only flat (dimension + label) facets, but it uses quite a bit less RAM to do so.

    NOTE: this class should be instantiated and then used from a single thread, because it holds a thread-private instance of Lucene.Net.Index.SortedSetDocValues.

    NOTE:: tie-break is by unicode sort order @lucene.experimental

    SortedSetDocValuesFacetField

    Add an instance of this to your Lucene.Net.Documents.Document for every facet label to be indexed via Lucene.Net.Index.SortedSetDocValues.

    SortedSetDocValuesReaderState

    Wraps a Lucene.Net.Index.IndexReader and resolves ords using existing Lucene.Net.Index.SortedSetDocValues APIs without a separate taxonomy index. This only supports flat facets (dimension + label), and it makes faceting a bit slower, adds some cost at reopen time, but avoids managing the separate taxonomy index. It also requires less RAM than the taxonomy index, as it manages the flat (2-level) hierarchy more efficiently. In addition, the tie-break during faceting is now meaningful (in label sorted order).

    NOTE: creating an instance of this class is somewhat costly, as it computes per-segment ordinal maps, so you should create it once and re-use that one instance for a given Lucene.Net.Index.IndexReader.

    SortedSetDocValuesReaderState.OrdRange

    Holds start/end range of ords, which maps to one dimension (someday we may generalize it to map to hierarchies within one dimension).

    • Improve this Doc
    Back to top Copyright © 2022 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.