Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Namespace Lucene.Net.Search.Grouping

    Classes

    AbstractAllGroupHeadsCollector

    LUCENENET specific class used to reference an AbstractAllGroupHeadsCollector<GH> subclass without refering to its generic closing type.

    AbstractAllGroupHeadsCollector_GroupHead

    Represents a group head. A group head is the most relevant document for a particular group. The relevancy is usually based on the sort.

    The group head contains a group value with its associated most relevant document id.

    AbstractAllGroupHeadsCollector<GH>

    This collector specializes in collecting the most relevant document (group head) for each group that match the query.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    AbstractAllGroupHeadsCollector<GH>.TemporalResult

    Contains the result of group head retrieval. To prevent new object creations of this class for every collect.

    AbstractAllGroupsCollector<TGroupValue>

    A collector that collects all groups that match the query. Only the group value is collected, and the order is undefined. This collector does not determine the most relevant document of a group.

    This is an abstract version. Concrete implementations define what a group actually is and how it is internally collected.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    AbstractDistinctValuesCollector

    LUCENENET specific class used to nest the AbstractDistinctValuesCollector.GroupCount<TGroupValue> class so it has similar syntax to that in Java Lucene (AbstractDistinctValuesCollector.GroupCount{TGroupValue} rather than AbstractDistinctValuesCollector{GC}.GroupCount{TGroupValue}).

    AbstractDistinctValuesCollector.GroupCount<TGroupValue>

    Returned by Groups, representing the value and set of distinct values for the group.

    AbstractDistinctValuesCollector<GC>

    A second pass grouping collector that keeps track of distinct values for a specified field for the top N group.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    AbstractFirstPassGroupingCollector<TGroupValue>

    FirstPassGroupingCollector is the first of two passes necessary to collect grouped hits. This pass gathers the top N sorted groups. Concrete subclasses define what a group is and how it is internally collected.

    See org.apache.lucene.search.grouping for more details including a full code example.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    AbstractGroupFacetCollector

    Base class for computing grouped facets.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    AbstractGroupFacetCollector.AbstractSegmentResult

    Contains the local grouped segment counts for a particular segment. Each AbstractGroupFacetCollector.AbstractSegmentResult must be added together.

    AbstractGroupFacetCollector.FacetEntry

    Represents a facet entry with a value and a count.

    AbstractGroupFacetCollector.GroupedFacetResult

    The grouped facet result. Containing grouped facet entries, total count and total missing count.

    AbstractSecondPassGroupingCollector

    LUCENENET specific class used to simulate the syntax used to access nested classes of AbstractAllGroupHeadsCollector<GH> without referencing the generic closing type.

    AbstractSecondPassGroupingCollector.SearchGroupDocs<TGroupValue>

    AbstractSecondPassGroupingCollector<TGroupValue>

    SecondPassGroupingCollector is the second of two passes necessary to collect grouped docs. This pass gathers the top N documents per top group computed from the first pass. Concrete subclasses define what a group is and how it is internally collected.

    See org.apache.lucene.search.grouping for more details including a full code example.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    BlockGroupingCollector

    BlockGroupingCollector performs grouping with a single pass collector, as long as you are grouping by a doc block field, ie all documents sharing a given group value were indexed as a doc block using the atomic AddDocuments(IEnumerable<IEnumerable<IIndexableField>>, Analyzer) or UpdateDocuments(Term, IEnumerable<IEnumerable<IIndexableField>>, Analyzer) API.

    This results in faster performance (~25% faster QPS) than the two-pass grouping collectors, with the tradeoff being that the documents in each group must always be indexed as a block. This collector also fills in TopGroups.totalGroupCount without requiring the separate TermAllGroupsCollector. However, this collector does not fill in the groupValue of each group; this field will always be null.

    NOTE: this collector makes no effort to verify the docs were in fact indexed as a block, so it's up to you to ensure this was the case.

    See org.apache.lucene.search.grouping for more details including a full code example.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    CollectedSearchGroup<TGroupValue>

    Expert: representation of a group in AbstractFirstPassGroupingCollector<TGroupValue>, tracking the top doc and Lucene.Net.Search.FieldComparer slot.

    Note

    This API is for internal purposes only and might change in incompatible ways in the next release.

    GroupDocs<TGroupValue>

    Represents one group in the results.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    GroupingSearch

    Convenience class to perform grouping in a non distributed environment.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    SearchGroup

    LUCENENET specific class used to nest types to mimic the syntax used by Lucene (that is, without specifying the generic closing type of SearchGroup<TGroupValue>)

    SearchGroup<TGroupValue>

    Represents a group that is found during the first pass search.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    TopGroups

    LUCENENET specific class used to nest types to mimic the syntax used by Lucene (that is, without specifying the generic closing type of TopGroups<TGroupValue>)

    TopGroups<TGroupValue>

    Represents result returned by a grouping search.

    Note

    This API is experimental and might change in incompatible ways in the next release.

    Interfaces

    AbstractDistinctValuesCollector.IGroupCount<TGroupValue>

    LUCENENET specific interface used to apply covariance to TGroupValue

    IAbstractAllGroupsCollector<TGroupValue>

    LUCENENET specific interface used to apply covariance to TGroupValue

    IAbstractDistinctValuesCollector<GC>

    LUCENENET specific interface used to apply covariance to GC

    IAbstractFirstPassGroupingCollector<TGroupValue>

    LUCENENET specific interface used to apply covariance to TGroupValue to simulate Java's wildcard generics.

    IAbstractSecondPassGroupingCollector<TGroupValue>

    LUCENENET specific interface used to apply covariance to TGroupValue to simulate Java's wildcard generics.

    ICollectedSearchGroup

    LUCENENET specific interface for passing/comparing the CollectedSearchGroup without referencing its generic closing type

    IGroupDocs<TGroupValue>

    LUCENENET specific interface used to apply covariance to TGroupValue to simulate Java's wildcard generics.

    ISearchGroup<TGroupValue>

    LUCENENET specific interface used to provide covariance with the TGroupValue type to simulate Java's wildcard generics.

    ITopGroups<TGroupValue>

    LUCENENET specific interface used to provide covariance with the TGroupValue type to simulate Java's wildcard generics.

    Enums

    TopGroups.ScoreMergeMode

    How the GroupDocs score (if any) should be merged.

    Back to top Copyright © 2024 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.