blob: 0edaee49a0ad0cb0a6226e99ef530e678123f59f [file] [log] [blame]
{
"Lucene.Net.Join.FixedBitSetCachingWrapperFilter.html": {
"href": "Lucene.Net.Join.FixedBitSetCachingWrapperFilter.html",
"title": "Class FixedBitSetCachingWrapperFilter | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Class FixedBitSetCachingWrapperFilter A Lucene.Net.Search.CachingWrapperFilter that caches sets using a FixedBitSet , as required for joins. Inheritance System.Object Lucene.Net.Search.Filter Lucene.Net.Search.CachingWrapperFilter FixedBitSetCachingWrapperFilter Inherited Members Lucene.Net.Search.CachingWrapperFilter.Filter Lucene.Net.Search.CachingWrapperFilter.CacheImpl(Lucene.Net.Search.DocIdSetIterator, Lucene.Net.Index.AtomicReader) Lucene.Net.Search.CachingWrapperFilter.GetDocIdSet(Lucene.Net.Index.AtomicReaderContext, Lucene.Net.Util.IBits) Lucene.Net.Search.CachingWrapperFilter.ToString() CachingWrapperFilter.Equals(Object) Lucene.Net.Search.CachingWrapperFilter.GetHashCode() Lucene.Net.Search.CachingWrapperFilter.EMPTY_DOCIDSET Lucene.Net.Search.CachingWrapperFilter.GetSizeInBytes() Filter.NewAnonymous(Func<AtomicReaderContext, IBits, DocIdSet>) System.Object.Equals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public sealed class FixedBitSetCachingWrapperFilter : CachingWrapperFilter Constructors | Improve this Doc View Source FixedBitSetCachingWrapperFilter(Filter) Sole constructor, see CachingWrapperFilter(Filter) . Declaration public FixedBitSetCachingWrapperFilter(Filter filter) Parameters Type Name Description Lucene.Net.Search.Filter filter Methods | Improve this Doc View Source DocIdSetToCache(DocIdSet, AtomicReader) Declaration protected override DocIdSet DocIdSetToCache(DocIdSet docIdSet, AtomicReader reader) Parameters Type Name Description Lucene.Net.Search.DocIdSet docIdSet Lucene.Net.Index.AtomicReader reader Returns Type Description Lucene.Net.Search.DocIdSet Overrides Lucene.Net.Search.CachingWrapperFilter.DocIdSetToCache(Lucene.Net.Search.DocIdSet, Lucene.Net.Index.AtomicReader)"
},
"Lucene.Net.Join.html": {
"href": "Lucene.Net.Join.html",
"title": "Namespace Lucene.Net.Join | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Namespace Lucene.Net.Join <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> This modules support index-time and query-time joins. Index-time joins The index-time joining support joins while searching, where joined documents are indexed as a single document block using IndexWriter.addDocuments . This is useful for any normalized content (XML documents or database tables). In database terms, all rows for all joined tables matching a single row of the primary table must be indexed as a single document block, with the parent document being last in the group. When you index in this way, the documents in your index are divided into parent documents (the last document of each block) and child documents (all others). You provide a <xref:Lucene.Net.Search.Filter> that identifies the parent documents, as Lucene does not currently record any information about doc blocks. At search time, use ToParentBlockJoinQuery to remap/join matches from any child <xref:Lucene.Net.Search.Query> (ie, a query that matches only child documents) up to the parent document space. The resulting query can then be used as a clause in any query that matches parent. If you only care about the parent documents matching the query, you can use any collector to collect the parent hits, but if you'd also like to see which child documents match for each parent document, use the ToParentBlockJoinCollector to collect the hits. Once the search is done, you retrieve a <xref:Lucene.Net.Grouping.TopGroups> instance from the ToParentBlockJoinCollector.getTopGroups method. To map/join in the opposite direction, use ToChildBlockJoinQuery . This wraps any query matching parent documents, creating the joined query matching only child documents. Query-time joins The query time joining is index term based and implemented as two pass search. The first pass collects all the terms from a fromField that match the fromQuery. The second pass returns all documents that have matching terms in a toField to the terms collected in the first pass. Query time joining has the following input: fromField : The from field to join from. fromQuery : The query executed to collect the from terms. This is usually the user specified query. multipleValuesPerDocument : Whether the fromField contains more than one value per document scoreMode : Defines how scores are translated to the other join side. If you don't care about scoring use #None mode. This will disable scoring and is therefore more efficient (requires less memory and is faster). toField : The to field to join to Basically the query-time joining is accessible from one static method. The user of this method supplies the method with the described input and a IndexSearcher where the from terms need to be collected from. The returned query can be executed with the same IndexSearcher , but also with another IndexSearcher . Example usage of the JoinUtil.createJoinQuery : String fromField = \"from\"; // Name of the from field boolean multipleValuesPerDocument = false; // Set only yo true in the case when your fromField has multiple values per document in your index String toField = \"to\"; // Name of the to field ScoreMode scoreMode = ScoreMode.Max // Defines how the scores are translated into the other side of the join. Query fromQuery = new TermQuery(new Term(\"content\", searchTerm)); // Query executed to collect from values to join to the to values Query joinQuery = JoinUtil.createJoinQuery(fromField, multipleValuesPerDocument, toField, fromQuery, fromSearcher, scoreMode); TopDocs topDocs = toSearcher.search(joinQuery, 10); // Note: toSearcher can be the same as the fromSearcher // Render topDocs... Classes FixedBitSetCachingWrapperFilter A Lucene.Net.Search.CachingWrapperFilter that caches sets using a FixedBitSet , as required for joins. JoinUtil Utility for query time joining using Lucene.Net.Join.TermsQuery and Lucene.Net.Join.TermsCollector . This is a Lucene.NET EXPERIMENTAL API, use at your own risk ToChildBlockJoinQuery Just like ToParentBlockJoinQuery , except this query joins in reverse: you provide a Lucene.Net.Search.Query matching parent documents and it joins down to child documents. This is a Lucene.NET EXPERIMENTAL API, use at your own risk ToParentBlockJoinCollector Collects parent document hits for a Lucene.Net.Search.Query containing one more more BlockJoinQuery clauses, sorted by the specified parent Lucene.Net.Search.Sort . Note that this cannot perform arbitrary joins; rather, it requires that all joined documents are indexed as a doc block (using AddDocuments(IEnumerable<IEnumerable<IIndexableField>>, Analyzer) or UpdateDocuments(Term, IEnumerable<IEnumerable<IIndexableField>>, Analyzer) . Ie, the join is computed at index time. The parent Lucene.Net.Search.Sort must only use fields from the parent documents; sorting by field in the child documents is not supported. You should only use this collector if one or more of the clauses in the query is a ToParentBlockJoinQuery . This collector will find those query clauses and record the matching child documents for the top scoring parent documents. Multiple joins (star join) and nested joins and a mix of the two are allowed, as long as in all cases the documents corresponding to a single row of each joined parent table were indexed as a doc block. For the simple star join you can retrieve the Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> instance containing each ToParentBlockJoinQuery 's matching child documents for the top parent groups, using GetTopGroups(ToParentBlockJoinQuery, Sort, Int32, Int32, Int32, Boolean) . Ie, a single query, which will contain two or more ToParentBlockJoinQuery 's as clauses representing the star join, can then retrieve two or more Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> instances. For nested joins, the query will run correctly (ie, match the right parent and child documents), however, because Lucene.Net.Search.Grouping.TopGroups`1 is currently unable to support nesting (each group is not able to hold another Lucene.Net.Search.Grouping.TopGroups`1 ), you are only able to retrieve the Lucene.Net.Search.Grouping.TopGroups`1 of the first join. The Lucene.Net.Search.Grouping.TopGroups`1 of the nested joins will not be correct. See http://lucene.apache.org/core/4_8_0/join/ for a code sample. This is a Lucene.NET EXPERIMENTAL API, use at your own risk ToParentBlockJoinFieldComparer A field comparer that allows parent documents to be sorted by fields from the nested / child documents. This is a Lucene.NET EXPERIMENTAL API, use at your own risk ToParentBlockJoinFieldComparer.Highest Concrete implementation of ToParentBlockJoinSortField to sorts the parent docs with the highest values in the child / nested docs first. ToParentBlockJoinFieldComparer.Lowest Concrete implementation of ToParentBlockJoinSortField to sorts the parent docs with the lowest values in the child / nested docs first. ToParentBlockJoinQuery This query requires that you index children and parent docs as a single block, using the AddDocuments(IEnumerable<IEnumerable<IIndexableField>>, Analyzer) or UpdateDocuments(Term, IEnumerable<IEnumerable<IIndexableField>>, Analyzer) API. In each block, the child documents must appear first, ending with the parent document. At search time you provide a Lucene.Net.Search.Filter identifying the parents, however this Lucene.Net.Search.Filter must provide an FixedBitSet per sub-reader. Once the block index is built, use this query to wrap any sub-query matching only child docs and join matches in that child document space up to the parent document space. You can then use this Lucene.Net.Search.Query as a clause with other queries in the parent document space. See ToChildBlockJoinQuery if you need to join in the reverse order. The child documents must be orthogonal to the parent documents: the wrapped child query must never return a parent document. If you'd like to retrieve Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> for the resulting query, use the ToParentBlockJoinCollector . Note that this is not necessary, ie, if you simply want to collect the parent documents and don't need to see which child documents matched under that parent, then you can use any collector. NOTE : If the overall query contains parent-only matches, for example you OR a parent-only query with a joined child-only query, then the resulting collected documents will be correct, however the Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> you get from ToParentBlockJoinCollector will not contain every child for parents that had matched. See http://lucene.apache.org/core/4_8_0/join/ for an overview. This is a Lucene.NET EXPERIMENTAL API, use at your own risk ToParentBlockJoinSortField A special sort field that allows sorting parent docs based on nested / child level fields. Based on the sort order it either takes the document with the lowest or highest field value into account. This is a Lucene.NET EXPERIMENTAL API, use at your own risk Enums ScoreMode How to aggregate multiple child hit scores into a single parent score."
},
"Lucene.Net.Join.JoinUtil.html": {
"href": "Lucene.Net.Join.JoinUtil.html",
"title": "Class JoinUtil | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Class JoinUtil Utility for query time joining using Lucene.Net.Join.TermsQuery and Lucene.Net.Join.TermsCollector . This is a Lucene.NET EXPERIMENTAL API, use at your own risk Inheritance System.Object JoinUtil Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public sealed class JoinUtil Methods | Improve this Doc View Source CreateJoinQuery(String, Boolean, String, Query, IndexSearcher, ScoreMode) Method for query time joining. Execute the returned query with a Lucene.Net.Search.IndexSearcher to retrieve all documents that have the same terms in the to field that match with documents matching the specified fromQuery and have the same terms in the from field. In the case a single document relates to more than one document the multipleValuesPerDocument option should be set to true. When the multipleValuesPerDocument is set to true only the the score from the first encountered join value originating from the 'from' side is mapped into the 'to' side. Even in the case when a second join value related to a specific document yields a higher score. Obviously this doesn't apply in the case that None is used, since no scores are computed at all. Memory considerations: During joining all unique join values are kept in memory. On top of that when the scoreMode isn't set to None a float value per unique join value is kept in memory for computing scores. When scoreMode is set to Avg also an additional integer value is kept in memory per unique join value. Declaration public static Query CreateJoinQuery(string fromField, bool multipleValuesPerDocument, string toField, Query fromQuery, IndexSearcher fromSearcher, ScoreMode scoreMode) Parameters Type Name Description System.String fromField The from field to join from System.Boolean multipleValuesPerDocument Whether the from field has multiple terms per document System.String toField The to field to join to Lucene.Net.Search.Query fromQuery The query to match documents on the from side Lucene.Net.Search.IndexSearcher fromSearcher The searcher that executed the specified fromQuery ScoreMode scoreMode Instructs how scores from the fromQuery are mapped to the returned query Returns Type Description Lucene.Net.Search.Query A Lucene.Net.Search.Query instance that can be used to join documents based on the terms in the from and to field Exceptions Type Condition System.IO.IOException If I/O related errors occur"
},
"Lucene.Net.Join.ScoreMode.html": {
"href": "Lucene.Net.Join.ScoreMode.html",
"title": "Enum ScoreMode | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Enum ScoreMode How to aggregate multiple child hit scores into a single parent score. Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public enum ScoreMode Fields Name Description Avg Parent hit's score is the average of all child scores. Max Parent hit's score is the max of all child scores. None Do no scoring. Total Parent hit's score is the sum of all child scores."
},
"Lucene.Net.Join.ToChildBlockJoinQuery.html": {
"href": "Lucene.Net.Join.ToChildBlockJoinQuery.html",
"title": "Class ToChildBlockJoinQuery | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Class ToChildBlockJoinQuery Just like ToParentBlockJoinQuery , except this query joins in reverse: you provide a Lucene.Net.Search.Query matching parent documents and it joins down to child documents. This is a Lucene.NET EXPERIMENTAL API, use at your own risk Inheritance System.Object Lucene.Net.Search.Query ToChildBlockJoinQuery Inherited Members Lucene.Net.Search.Query.Boost Lucene.Net.Search.Query.ToString() System.Object.Equals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public class ToChildBlockJoinQuery : Query Constructors | Improve this Doc View Source ToChildBlockJoinQuery(Query, Filter, Boolean) Create a ToChildBlockJoinQuery . Declaration public ToChildBlockJoinQuery(Query parentQuery, Filter parentsFilter, bool doScores) Parameters Type Name Description Lucene.Net.Search.Query parentQuery Lucene.Net.Search.Query that matches parent documents Lucene.Net.Search.Filter parentsFilter Lucene.Net.Search.Filter (must produce FixedBitSet per-segment, like FixedBitSetCachingWrapperFilter ) identifying the parent documents. System.Boolean doScores True if parent scores should be calculated. Methods | Improve this Doc View Source Clone() Declaration public override object Clone() Returns Type Description System.Object Overrides Lucene.Net.Search.Query.Clone() | Improve this Doc View Source CreateWeight(IndexSearcher) Declaration public override Weight CreateWeight(IndexSearcher searcher) Parameters Type Name Description Lucene.Net.Search.IndexSearcher searcher Returns Type Description Lucene.Net.Search.Weight Overrides Lucene.Net.Search.Query.CreateWeight(Lucene.Net.Search.IndexSearcher) | Improve this Doc View Source Equals(Object) Declaration public override bool Equals(object obj) Parameters Type Name Description System.Object obj Returns Type Description System.Boolean Overrides Query.Equals(Object) | Improve this Doc View Source ExtractTerms(ISet<Term>) Declaration public override void ExtractTerms(ISet<Term> terms) Parameters Type Name Description System.Collections.Generic.ISet < Term > terms Overrides Query.ExtractTerms(ISet<Term>) | Improve this Doc View Source GetHashCode() Declaration public override int GetHashCode() Returns Type Description System.Int32 Overrides Lucene.Net.Search.Query.GetHashCode() | Improve this Doc View Source Rewrite(IndexReader) Declaration public override Query Rewrite(IndexReader reader) Parameters Type Name Description Lucene.Net.Index.IndexReader reader Returns Type Description Lucene.Net.Search.Query Overrides Lucene.Net.Search.Query.Rewrite(Lucene.Net.Index.IndexReader) | Improve this Doc View Source ToString(String) Declaration public override string ToString(string field) Parameters Type Name Description System.String field Returns Type Description System.String Overrides Query.ToString(String)"
},
"Lucene.Net.Join.ToParentBlockJoinCollector.html": {
"href": "Lucene.Net.Join.ToParentBlockJoinCollector.html",
"title": "Class ToParentBlockJoinCollector | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Class ToParentBlockJoinCollector Collects parent document hits for a Lucene.Net.Search.Query containing one more more BlockJoinQuery clauses, sorted by the specified parent Lucene.Net.Search.Sort . Note that this cannot perform arbitrary joins; rather, it requires that all joined documents are indexed as a doc block (using AddDocuments(IEnumerable<IEnumerable<IIndexableField>>, Analyzer) or UpdateDocuments(Term, IEnumerable<IEnumerable<IIndexableField>>, Analyzer) . Ie, the join is computed at index time. The parent Lucene.Net.Search.Sort must only use fields from the parent documents; sorting by field in the child documents is not supported. You should only use this collector if one or more of the clauses in the query is a ToParentBlockJoinQuery . This collector will find those query clauses and record the matching child documents for the top scoring parent documents. Multiple joins (star join) and nested joins and a mix of the two are allowed, as long as in all cases the documents corresponding to a single row of each joined parent table were indexed as a doc block. For the simple star join you can retrieve the Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> instance containing each ToParentBlockJoinQuery 's matching child documents for the top parent groups, using GetTopGroups(ToParentBlockJoinQuery, Sort, Int32, Int32, Int32, Boolean) . Ie, a single query, which will contain two or more ToParentBlockJoinQuery 's as clauses representing the star join, can then retrieve two or more Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> instances. For nested joins, the query will run correctly (ie, match the right parent and child documents), however, because Lucene.Net.Search.Grouping.TopGroups`1 is currently unable to support nesting (each group is not able to hold another Lucene.Net.Search.Grouping.TopGroups`1 ), you are only able to retrieve the Lucene.Net.Search.Grouping.TopGroups`1 of the first join. The Lucene.Net.Search.Grouping.TopGroups`1 of the nested joins will not be correct. See http://lucene.apache.org/core/4_8_0/join/ for a code sample. This is a Lucene.NET EXPERIMENTAL API, use at your own risk Inheritance System.Object ToParentBlockJoinCollector Implements Lucene.Net.Search.ICollector Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public class ToParentBlockJoinCollector : ICollector Constructors | Improve this Doc View Source ToParentBlockJoinCollector(Sort, Int32, Boolean, Boolean) Creates a ToParentBlockJoinCollector . The provided sort must not be null. If you pass true trackScores , all ToParentBlockQuery instances must not use None . Declaration public ToParentBlockJoinCollector(Sort sort, int numParentHits, bool trackScores, bool trackMaxScore) Parameters Type Name Description Lucene.Net.Search.Sort sort System.Int32 numParentHits System.Boolean trackScores System.Boolean trackMaxScore Properties | Improve this Doc View Source AcceptsDocsOutOfOrder Declaration public virtual bool AcceptsDocsOutOfOrder { get; } Property Value Type Description System.Boolean | Improve this Doc View Source MaxScore Returns the highest score across all collected parent hits, as long as trackMaxScores=true was passed ToParentBlockJoinCollector(Sort, Int32, Boolean, Boolean) on construction. Else, this returns System.Single.NaN . Declaration public virtual float MaxScore { get; } Property Value Type Description System.Single Methods | Improve this Doc View Source Collect(Int32) Declaration public virtual void Collect(int parentDoc) Parameters Type Name Description System.Int32 parentDoc | Improve this Doc View Source GetTopGroups(ToParentBlockJoinQuery, Sort, Int32, Int32, Int32, Boolean) Returns the Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> for the specified BlockJoinQuery. The groupValue of each GroupDocs will be the parent docID for that group. The number of documents within each group is calculated as minimum of maxDocsPerGroup and number of matched child documents for that group. Returns null if no groups matched. Declaration public virtual ITopGroups<int> GetTopGroups(ToParentBlockJoinQuery query, Sort withinGroupSort, int offset, int maxDocsPerGroup, int withinGroupOffset, bool fillSortFields) Parameters Type Name Description ToParentBlockJoinQuery query Search query Lucene.Net.Search.Sort withinGroupSort Sort criteria within groups System.Int32 offset Parent docs offset System.Int32 maxDocsPerGroup Upper bound of documents per group number System.Int32 withinGroupOffset Offset within each group of child docs System.Boolean fillSortFields Specifies whether to add sort fields or not Returns Type Description Lucene.Net.Search.Grouping.ITopGroups < System.Int32 > Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> for specified query Exceptions Type Condition System.IO.IOException if there is a low-level I/O error | Improve this Doc View Source GetTopGroupsWithAllChildDocs(ToParentBlockJoinQuery, Sort, Int32, Int32, Boolean) Returns the Lucene.Net.Search.Grouping.TopGroups`1 for the specified BlockJoinQuery. The groupValue of each GroupDocs will be the parent docID for that group. The number of documents within each group equals to the total number of matched child documents for that group. Returns null if no groups matched. Declaration public virtual ITopGroups<int> GetTopGroupsWithAllChildDocs(ToParentBlockJoinQuery query, Sort withinGroupSort, int offset, int withinGroupOffset, bool fillSortFields) Parameters Type Name Description ToParentBlockJoinQuery query Search query Lucene.Net.Search.Sort withinGroupSort Sort criteria within groups System.Int32 offset Parent docs offset System.Int32 withinGroupOffset Offset within each group of child docs System.Boolean fillSortFields Specifies whether to add sort fields or not Returns Type Description Lucene.Net.Search.Grouping.ITopGroups < System.Int32 > Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> for specified query Exceptions Type Condition System.IO.IOException if there is a low-level I/O error | Improve this Doc View Source SetNextReader(AtomicReaderContext) Declaration public virtual void SetNextReader(AtomicReaderContext context) Parameters Type Name Description Lucene.Net.Index.AtomicReaderContext context | Improve this Doc View Source SetScorer(Scorer) Declaration public virtual void SetScorer(Scorer scorer) Parameters Type Name Description Lucene.Net.Search.Scorer scorer Implements Lucene.Net.Search.ICollector"
},
"Lucene.Net.Join.ToParentBlockJoinFieldComparer.Highest.html": {
"href": "Lucene.Net.Join.ToParentBlockJoinFieldComparer.Highest.html",
"title": "Class ToParentBlockJoinFieldComparer.Highest | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Class ToParentBlockJoinFieldComparer.Highest Concrete implementation of ToParentBlockJoinSortField to sorts the parent docs with the highest values in the child / nested docs first. Inheritance System.Object Lucene.Net.Search.FieldComparer Lucene.Net.Search.FieldComparer < System.Object > ToParentBlockJoinFieldComparer ToParentBlockJoinFieldComparer.Highest Inherited Members ToParentBlockJoinFieldComparer.Compare(Int32, Int32) ToParentBlockJoinFieldComparer.SetBottom(Int32) ToParentBlockJoinFieldComparer.SetTopValue(Object) ToParentBlockJoinFieldComparer.SetNextReader(AtomicReaderContext) ToParentBlockJoinFieldComparer.Item[Int32] Lucene.Net.Search.FieldComparer<System.Object>.CompareValues(System.Object, System.Object) Lucene.Net.Search.FieldComparer.SetScorer(Lucene.Net.Search.Scorer) System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public sealed class Highest : ToParentBlockJoinFieldComparer Constructors | Improve this Doc View Source Highest(FieldComparer, Filter, Filter, Int32) Create ToParentBlockJoinFieldComparer.Highest Declaration public Highest(FieldComparer wrappedComparer, Filter parentFilter, Filter childFilter, int spareSlot) Parameters Type Name Description Lucene.Net.Search.FieldComparer wrappedComparer The Lucene.Net.Search.FieldComparer on the child / nested level. Lucene.Net.Search.Filter parentFilter Lucene.Net.Search.Filter (must produce FixedBitSet per-segment) that identifies the parent documents. Lucene.Net.Search.Filter childFilter Lucene.Net.Search.Filter that defines which child / nested documents participates in sorting. System.Int32 spareSlot The extra slot inside the wrapped comparer that is used to compare which nested document inside the parent document scope is most competitive. Methods | Improve this Doc View Source CompareBottom(Int32) Declaration public override int CompareBottom(int parentDoc) Parameters Type Name Description System.Int32 parentDoc Returns Type Description System.Int32 Overrides Lucene.Net.Search.FieldComparer<System.Object>.CompareBottom(System.Int32) | Improve this Doc View Source CompareTop(Int32) Declaration public override int CompareTop(int parentDoc) Parameters Type Name Description System.Int32 parentDoc Returns Type Description System.Int32 Overrides Lucene.Net.Search.FieldComparer<System.Object>.CompareTop(System.Int32) | Improve this Doc View Source Copy(Int32, Int32) Declaration public override void Copy(int slot, int parentDoc) Parameters Type Name Description System.Int32 slot System.Int32 parentDoc Overrides Lucene.Net.Search.FieldComparer<System.Object>.Copy(System.Int32, System.Int32)"
},
"Lucene.Net.Join.ToParentBlockJoinFieldComparer.html": {
"href": "Lucene.Net.Join.ToParentBlockJoinFieldComparer.html",
"title": "Class ToParentBlockJoinFieldComparer | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Class ToParentBlockJoinFieldComparer A field comparer that allows parent documents to be sorted by fields from the nested / child documents. This is a Lucene.NET EXPERIMENTAL API, use at your own risk Inheritance System.Object Lucene.Net.Search.FieldComparer Lucene.Net.Search.FieldComparer < System.Object > ToParentBlockJoinFieldComparer ToParentBlockJoinFieldComparer.Highest ToParentBlockJoinFieldComparer.Lowest Inherited Members FieldComparer<Object>.CompareBottom(Int32) FieldComparer<Object>.CompareTop(Int32) FieldComparer<Object>.Copy(Int32, Int32) Lucene.Net.Search.FieldComparer<System.Object>.CompareValues(System.Object, System.Object) Lucene.Net.Search.FieldComparer.SetScorer(Lucene.Net.Search.Scorer) System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public abstract class ToParentBlockJoinFieldComparer : FieldComparer<object> Properties | Improve this Doc View Source Item[Int32] Declaration public override IComparable this[int slot] { get; } Parameters Type Name Description System.Int32 slot Property Value Type Description System.IComparable Overrides FieldComparer.Item[Int32] Methods | Improve this Doc View Source Compare(Int32, Int32) Declaration public override int Compare(int slot1, int slot2) Parameters Type Name Description System.Int32 slot1 System.Int32 slot2 Returns Type Description System.Int32 Overrides Lucene.Net.Search.FieldComparer<System.Object>.Compare(System.Int32, System.Int32) | Improve this Doc View Source SetBottom(Int32) Declaration public override void SetBottom(int slot) Parameters Type Name Description System.Int32 slot Overrides Lucene.Net.Search.FieldComparer<System.Object>.SetBottom(System.Int32) | Improve this Doc View Source SetNextReader(AtomicReaderContext) Declaration public override FieldComparer SetNextReader(AtomicReaderContext context) Parameters Type Name Description Lucene.Net.Index.AtomicReaderContext context Returns Type Description Lucene.Net.Search.FieldComparer Overrides Lucene.Net.Search.FieldComparer<System.Object>.SetNextReader(Lucene.Net.Index.AtomicReaderContext) | Improve this Doc View Source SetTopValue(Object) Declaration public override void SetTopValue(object value) Parameters Type Name Description System.Object value Overrides Lucene.Net.Search.FieldComparer<System.Object>.SetTopValue(System.Object)"
},
"Lucene.Net.Join.ToParentBlockJoinFieldComparer.Lowest.html": {
"href": "Lucene.Net.Join.ToParentBlockJoinFieldComparer.Lowest.html",
"title": "Class ToParentBlockJoinFieldComparer.Lowest | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Class ToParentBlockJoinFieldComparer.Lowest Concrete implementation of ToParentBlockJoinSortField to sorts the parent docs with the lowest values in the child / nested docs first. Inheritance System.Object Lucene.Net.Search.FieldComparer Lucene.Net.Search.FieldComparer < System.Object > ToParentBlockJoinFieldComparer ToParentBlockJoinFieldComparer.Lowest Inherited Members ToParentBlockJoinFieldComparer.Compare(Int32, Int32) ToParentBlockJoinFieldComparer.SetBottom(Int32) ToParentBlockJoinFieldComparer.SetTopValue(Object) ToParentBlockJoinFieldComparer.SetNextReader(AtomicReaderContext) ToParentBlockJoinFieldComparer.Item[Int32] Lucene.Net.Search.FieldComparer<System.Object>.CompareValues(System.Object, System.Object) Lucene.Net.Search.FieldComparer.SetScorer(Lucene.Net.Search.Scorer) System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public sealed class Lowest : ToParentBlockJoinFieldComparer Constructors | Improve this Doc View Source Lowest(FieldComparer, Filter, Filter, Int32) Create ToParentBlockJoinFieldComparer.Lowest Declaration public Lowest(FieldComparer wrappedComparer, Filter parentFilter, Filter childFilter, int spareSlot) Parameters Type Name Description Lucene.Net.Search.FieldComparer wrappedComparer The Lucene.Net.Search.FieldComparer on the child / nested level. Lucene.Net.Search.Filter parentFilter Lucene.Net.Search.Filter (must produce FixedBitSet per-segment) that identifies the parent documents. Lucene.Net.Search.Filter childFilter Lucene.Net.Search.Filter that defines which child / nested documents participates in sorting. System.Int32 spareSlot The extra slot inside the wrapped comparer that is used to compare which nested document inside the parent document scope is most competitive. Methods | Improve this Doc View Source CompareBottom(Int32) Declaration public override int CompareBottom(int parentDoc) Parameters Type Name Description System.Int32 parentDoc Returns Type Description System.Int32 Overrides Lucene.Net.Search.FieldComparer<System.Object>.CompareBottom(System.Int32) | Improve this Doc View Source CompareTop(Int32) Declaration public override int CompareTop(int parentDoc) Parameters Type Name Description System.Int32 parentDoc Returns Type Description System.Int32 Overrides Lucene.Net.Search.FieldComparer<System.Object>.CompareTop(System.Int32) | Improve this Doc View Source Copy(Int32, Int32) Declaration public override void Copy(int slot, int parentDoc) Parameters Type Name Description System.Int32 slot System.Int32 parentDoc Overrides Lucene.Net.Search.FieldComparer<System.Object>.Copy(System.Int32, System.Int32)"
},
"Lucene.Net.Join.ToParentBlockJoinQuery.html": {
"href": "Lucene.Net.Join.ToParentBlockJoinQuery.html",
"title": "Class ToParentBlockJoinQuery | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Class ToParentBlockJoinQuery This query requires that you index children and parent docs as a single block, using the AddDocuments(IEnumerable<IEnumerable<IIndexableField>>, Analyzer) or UpdateDocuments(Term, IEnumerable<IEnumerable<IIndexableField>>, Analyzer) API. In each block, the child documents must appear first, ending with the parent document. At search time you provide a Lucene.Net.Search.Filter identifying the parents, however this Lucene.Net.Search.Filter must provide an FixedBitSet per sub-reader. Once the block index is built, use this query to wrap any sub-query matching only child docs and join matches in that child document space up to the parent document space. You can then use this Lucene.Net.Search.Query as a clause with other queries in the parent document space. See ToChildBlockJoinQuery if you need to join in the reverse order. The child documents must be orthogonal to the parent documents: the wrapped child query must never return a parent document. If you'd like to retrieve Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> for the resulting query, use the ToParentBlockJoinCollector . Note that this is not necessary, ie, if you simply want to collect the parent documents and don't need to see which child documents matched under that parent, then you can use any collector. NOTE : If the overall query contains parent-only matches, for example you OR a parent-only query with a joined child-only query, then the resulting collected documents will be correct, however the Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> you get from ToParentBlockJoinCollector will not contain every child for parents that had matched. See http://lucene.apache.org/core/4_8_0/join/ for an overview. This is a Lucene.NET EXPERIMENTAL API, use at your own risk Inheritance System.Object Lucene.Net.Search.Query ToParentBlockJoinQuery Inherited Members Lucene.Net.Search.Query.Boost Lucene.Net.Search.Query.ToString() Lucene.Net.Search.Query.Clone() System.Object.Equals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public class ToParentBlockJoinQuery : Query Constructors | Improve this Doc View Source ToParentBlockJoinQuery(Query, Filter, ScoreMode) Create a ToParentBlockJoinQuery . Declaration public ToParentBlockJoinQuery(Query childQuery, Filter parentsFilter, ScoreMode scoreMode) Parameters Type Name Description Lucene.Net.Search.Query childQuery Lucene.Net.Search.Query matching child documents. Lucene.Net.Search.Filter parentsFilter Lucene.Net.Search.Filter (must produce FixedBitSet per-segment, like FixedBitSetCachingWrapperFilter ) identifying the parent documents. ScoreMode scoreMode How to aggregate multiple child scores into a single parent score. Methods | Improve this Doc View Source CreateWeight(IndexSearcher) Declaration public override Weight CreateWeight(IndexSearcher searcher) Parameters Type Name Description Lucene.Net.Search.IndexSearcher searcher Returns Type Description Lucene.Net.Search.Weight Overrides Lucene.Net.Search.Query.CreateWeight(Lucene.Net.Search.IndexSearcher) | Improve this Doc View Source Equals(Object) Declaration public override bool Equals(object obj) Parameters Type Name Description System.Object obj Returns Type Description System.Boolean Overrides Query.Equals(Object) | Improve this Doc View Source ExtractTerms(ISet<Term>) Declaration public override void ExtractTerms(ISet<Term> terms) Parameters Type Name Description System.Collections.Generic.ISet < Term > terms Overrides Query.ExtractTerms(ISet<Term>) | Improve this Doc View Source GetHashCode() Declaration public override int GetHashCode() Returns Type Description System.Int32 Overrides Lucene.Net.Search.Query.GetHashCode() | Improve this Doc View Source Rewrite(IndexReader) Declaration public override Query Rewrite(IndexReader reader) Parameters Type Name Description Lucene.Net.Index.IndexReader reader Returns Type Description Lucene.Net.Search.Query Overrides Lucene.Net.Search.Query.Rewrite(Lucene.Net.Index.IndexReader) | Improve this Doc View Source ToString(String) Declaration public override string ToString(string field) Parameters Type Name Description System.String field Returns Type Description System.String Overrides Query.ToString(String)"
},
"Lucene.Net.Join.ToParentBlockJoinSortField.html": {
"href": "Lucene.Net.Join.ToParentBlockJoinSortField.html",
"title": "Class ToParentBlockJoinSortField | Apache Lucene.NET 4.8.0-beta00010 Documentation",
"keywords": "Class ToParentBlockJoinSortField A special sort field that allows sorting parent docs based on nested / child level fields. Based on the sort order it either takes the document with the lowest or highest field value into account. This is a Lucene.NET EXPERIMENTAL API, use at your own risk Inheritance System.Object Lucene.Net.Search.SortField ToParentBlockJoinSortField Inherited Members Lucene.Net.Search.SortField.FIELD_SCORE Lucene.Net.Search.SortField.FIELD_DOC Lucene.Net.Search.SortField.MissingValue Lucene.Net.Search.SortField.m_missingValue Lucene.Net.Search.SortField.STRING_FIRST Lucene.Net.Search.SortField.STRING_LAST Lucene.Net.Search.SortField.Field Lucene.Net.Search.SortField.Type Lucene.Net.Search.SortField.Parser Lucene.Net.Search.SortField.IsReverse Lucene.Net.Search.SortField.ComparerSource Lucene.Net.Search.SortField.ToString() SortField.Equals(Object) Lucene.Net.Search.SortField.GetHashCode() Lucene.Net.Search.SortField.BytesComparer Lucene.Net.Search.SortField.Rewrite(Lucene.Net.Search.IndexSearcher) Lucene.Net.Search.SortField.NeedsScores System.Object.Equals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Lucene.Net.Join Assembly : Lucene.Net.Join.dll Syntax public class ToParentBlockJoinSortField : SortField Constructors | Improve this Doc View Source ToParentBlockJoinSortField(String, SortFieldType, Boolean, Filter, Filter) Create ToParentBlockJoinSortField . The parent document ordering is based on child document ordering (reverse). Declaration public ToParentBlockJoinSortField(string field, SortFieldType type, bool reverse, Filter parentFilter, Filter childFilter) Parameters Type Name Description System.String field The sort field on the nested / child level. Lucene.Net.Search.SortFieldType type The sort type on the nested / child level. System.Boolean reverse Whether natural order should be reversed on the nested / child level. Lucene.Net.Search.Filter parentFilter Lucene.Net.Search.Filter that identifies the parent documents. Lucene.Net.Search.Filter childFilter Lucene.Net.Search.Filter that defines which child documents participates in sorting. | Improve this Doc View Source ToParentBlockJoinSortField(String, SortFieldType, Boolean, Boolean, Filter, Filter) Create ToParentBlockJoinSortField . Declaration public ToParentBlockJoinSortField(string field, SortFieldType type, bool reverse, bool order, Filter parentFilter, Filter childFilter) Parameters Type Name Description System.String field The sort field on the nested / child level. Lucene.Net.Search.SortFieldType type The sort type on the nested / child level. System.Boolean reverse Whether natural order should be reversed on the nested / child document level. System.Boolean order Whether natural order should be reversed on the parent level. Lucene.Net.Search.Filter parentFilter Lucene.Net.Search.Filter that identifies the parent documents. Lucene.Net.Search.Filter childFilter Lucene.Net.Search.Filter that defines which child documents participates in sorting. Methods | Improve this Doc View Source GetComparer(Int32, Int32) Declaration public override FieldComparer GetComparer(int numHits, int sortPos) Parameters Type Name Description System.Int32 numHits System.Int32 sortPos Returns Type Description Lucene.Net.Search.FieldComparer Overrides SortField.GetComparer(Int32, Int32)"
}
}