Class SpanNearClauseFactory
SpanNearClauseFactory:
Operations:
- create for a field name and an indexreader.
- add a weighted Term - this should add a corresponding SpanTermQuery, or increase the weight of an existing one.
- add a weighted subquery SpanNearQuery
- create a clause for SpanNearQuery from the things added above.
For this, create an array of SpanQuery's from the added ones.
The clause normally is a SpanOrQuery over the added subquery SpanNearQuery
the SpanTermQuery's for the added Term's
When it is necessary to suppress double subqueries as much as possible:
GetHashCode() and Equals() on unweighted SpanQuery are needed (possibly via GetTerms(),
the terms are individually hashable).
Idem SpanNearQuery: hash on the subqueries and the slop.
Evt. merge SpanNearQuery's by adding the weights of the corresponding subqueries.
To be determined:
Are SpanQuery weights handled correctly during search by Lucene?
Should the resulting SpanOrQuery be sorted?
Could other SpanQueries be added for use in this factory:
- SpanOrQuery: in principle yes, but it only has access to it's terms
via getTerms(); are the corresponding weights available?
- SpanFirstQuery: treat similar to subquery SpanNearQuery. (ok?)
- SpanNotQuery: treat similar to subquery SpanNearQuery. (ok?)
Factory for Lucene.Net.Search.Spans.SpanOrQuery
Inheritance
System.Object
SpanNearClauseFactory
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()
Assembly: Lucene.Net.QueryParser.dll
Syntax
public class SpanNearClauseFactory
Constructors
|
Improve this Doc
View Source
SpanNearClauseFactory(IndexReader, String, BasicQueryFactory)
Declaration
public SpanNearClauseFactory(IndexReader reader, string fieldName, BasicQueryFactory qf)
Parameters
Type |
Name |
Description |
Lucene.Net.Index.IndexReader |
reader |
|
System.String |
fieldName |
|
BasicQueryFactory |
qf |
|
Properties
|
Improve this Doc
View Source
BasicQueryFactory
Declaration
public virtual BasicQueryFactory BasicQueryFactory { get; }
Property Value
|
Improve this Doc
View Source
Count
Declaration
public virtual int Count { get; }
Property Value
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
FieldName
Declaration
public virtual string FieldName { get; }
Property Value
Type |
Description |
System.String |
|
|
Improve this Doc
View Source
IndexReader
Declaration
public virtual IndexReader IndexReader { get; }
Property Value
Type |
Description |
Lucene.Net.Index.IndexReader |
|
Methods
|
Improve this Doc
View Source
AddSpanQuery(Query)
Declaration
public virtual void AddSpanQuery(Query q)
Parameters
Type |
Name |
Description |
Lucene.Net.Search.Query |
q |
|
|
Improve this Doc
View Source
AddSpanQueryWeighted(SpanQuery, Single)
Declaration
protected virtual void AddSpanQueryWeighted(SpanQuery sq, float weight)
Parameters
Type |
Name |
Description |
Lucene.Net.Search.Spans.SpanQuery |
sq |
|
System.Single |
weight |
|
|
Improve this Doc
View Source
AddTermWeighted(Term, Single)
Declaration
public virtual void AddTermWeighted(Term t, float weight)
Parameters
Type |
Name |
Description |
Lucene.Net.Index.Term |
t |
|
System.Single |
weight |
|
|
Improve this Doc
View Source
Clear()
Declaration
public virtual void Clear()
|
Improve this Doc
View Source
MakeSpanClause()
Declaration
public virtual SpanQuery MakeSpanClause()
Returns
Type |
Description |
Lucene.Net.Search.Spans.SpanQuery |
|