blob: 58c57947f12ab97ee47818bee55704e23078955f [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Class FilteredQuery
| Apache Lucene.NET 4.8.0-beta00010 Documentation </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class FilteredQuery
| Apache Lucene.NET 4.8.0-beta00010 Documentation ">
<meta name="generator" content="docfx 2.56.0.0">
<link rel="shortcut icon" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/favicon.ico">
<link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.css">
<link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.css">
<link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.css">
<meta property="docfx:navrel" content="toc.html">
<meta property="docfx:tocrel" content="core/toc.html">
<meta property="docfx:rel" content="https://lucenenet.apache.org/docs/4.8.0-beta00009/">
</head>
<body data-spy="scroll" data-target="#affix" data-offset="120">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<img id="logo" class="svg" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/lucene-net-color.png" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search">
<ul class="level0 breadcrumb">
<li>
<a href="https://lucenenet.apache.org/docs/4.8.0-beta00009/">API</a>
<span id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</span>
</li>
</ul>
</div>
</div>
</header>
<div class="container body-content">
<div id="search-results">
<div class="search-list"></div>
<div class="sr-items">
<p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
</div>
<ul id="pagination"></ul>
</div>
</div>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="Lucene.Net.Search.FilteredQuery">
<h1 id="Lucene_Net_Search_FilteredQuery" data-uid="Lucene.Net.Search.FilteredQuery" class="text-break">Class FilteredQuery
</h1>
<div class="markdown level0 summary"><p>A query that applies a filter to the results of another query.</p>
<p><p>Note: the bits are retrieved from the filter each time this
query is used in a search - use a <a class="xref" href="Lucene.Net.Search.CachingWrapperFilter.html">CachingWrapperFilter</a> to avoid
regenerating the bits every time.
<p>
@since 1.4 </p>
</div>
<div class="markdown level0 conceptual"></div>
<div class="inheritance">
<h5>Inheritance</h5>
<div class="level0"><span class="xref">System.Object</span></div>
<div class="level1"><a class="xref" href="Lucene.Net.Search.Query.html">Query</a></div>
<div class="level2"><span class="xref">FilteredQuery</span></div>
</div>
<div class="inheritedMembers">
<h5>Inherited Members</h5>
<div>
<a class="xref" href="Lucene.Net.Search.Query.html#Lucene_Net_Search_Query_Boost">Query.Boost</a>
</div>
<div>
<a class="xref" href="Lucene.Net.Search.Query.html#Lucene_Net_Search_Query_ToString">Query.ToString()</a>
</div>
<div>
<a class="xref" href="Lucene.Net.Search.Query.html#Lucene_Net_Search_Query_Clone">Query.Clone()</a>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.GetType()</span>
</div>
<div>
<span class="xref">System.Object.MemberwiseClone()</span>
</div>
<div>
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
</div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.Search.html">Lucene.Net.Search</a></h6>
<h6><strong>Assembly</strong>: Lucene.Net.dll</h6>
<h5 id="Lucene_Net_Search_FilteredQuery_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class FilteredQuery : Query</code></pre>
</div>
<h3 id="constructors">Constructors
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery__ctor_Lucene_Net_Search_Query_Lucene_Net_Search_Filter_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.%23ctor(Lucene.Net.Search.Query%2CLucene.Net.Search.Filter)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L52">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery__ctor_" data-uid="Lucene.Net.Search.FilteredQuery.#ctor*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery__ctor_Lucene_Net_Search_Query_Lucene_Net_Search_Filter_" data-uid="Lucene.Net.Search.FilteredQuery.#ctor(Lucene.Net.Search.Query,Lucene.Net.Search.Filter)">FilteredQuery(Query, Filter)</h4>
<div class="markdown level1 summary"><p>Constructs a new query which applies a filter to the results of the original query.
<a class="xref" href="Lucene.Net.Search.Filter.html#Lucene_Net_Search_Filter_GetDocIdSet_Lucene_Net_Index_AtomicReaderContext_Lucene_Net_Util_IBits_">GetDocIdSet(AtomicReaderContext, IBits)</a> will be called every time this query is used in a search. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public FilteredQuery(Query query, Filter filter)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.Query.html">Query</a></td>
<td><span class="parametername">query</span></td>
<td><p>Query to be filtered, cannot be <code>null</code>. </p>
</td>
</tr>
<tr>
<td><a class="xref" href="Lucene.Net.Search.Filter.html">Filter</a></td>
<td><span class="parametername">filter</span></td>
<td><p>Filter to apply to query results, cannot be <code>null</code>. </p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery__ctor_Lucene_Net_Search_Query_Lucene_Net_Search_Filter_Lucene_Net_Search_FilteredQuery_FilterStrategy_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.%23ctor(Lucene.Net.Search.Query%2CLucene.Net.Search.Filter%2CLucene.Net.Search.FilteredQuery.FilterStrategy)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L65">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery__ctor_" data-uid="Lucene.Net.Search.FilteredQuery.#ctor*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery__ctor_Lucene_Net_Search_Query_Lucene_Net_Search_Filter_Lucene_Net_Search_FilteredQuery_FilterStrategy_" data-uid="Lucene.Net.Search.FilteredQuery.#ctor(Lucene.Net.Search.Query,Lucene.Net.Search.Filter,Lucene.Net.Search.FilteredQuery.FilterStrategy)">FilteredQuery(Query, Filter, FilteredQuery.FilterStrategy)</h4>
<div class="markdown level1 summary"><p>Expert: Constructs a new query which applies a filter to the results of the original query.
<a class="xref" href="Lucene.Net.Search.Filter.html#Lucene_Net_Search_Filter_GetDocIdSet_Lucene_Net_Index_AtomicReaderContext_Lucene_Net_Util_IBits_">GetDocIdSet(AtomicReaderContext, IBits)</a> will be called every time this query is used in a search. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public FilteredQuery(Query query, Filter filter, FilteredQuery.FilterStrategy strategy)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.Query.html">Query</a></td>
<td><span class="parametername">query</span></td>
<td><p>Query to be filtered, cannot be <code>null</code>. </p>
</td>
</tr>
<tr>
<td><a class="xref" href="Lucene.Net.Search.Filter.html">Filter</a></td>
<td><span class="parametername">filter</span></td>
<td><p>Filter to apply to query results, cannot be <code>null</code>. </p>
</td>
</tr>
<tr>
<td><a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html">FilteredQuery.FilterStrategy</a></td>
<td><span class="parametername">strategy</span></td>
<td><p>A filter strategy used to create a filtered scorer.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Lucene_Net_Search_FilteredQuery__ctor_Lucene_Net_Search_Query_Lucene_Net_Search_Filter_Lucene_Net_Search_FilteredQuery_FilterStrategy__seealso">See Also</h5>
<div class="seealso">
<div><a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html">FilteredQuery.FilterStrategy</a></div>
</div>
<h3 id="fields">Fields
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_LEAP_FROG_FILTER_FIRST_STRATEGY.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.LEAP_FROG_FILTER_FIRST_STRATEGY%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L492">View Source</a>
</span>
<h4 id="Lucene_Net_Search_FilteredQuery_LEAP_FROG_FILTER_FIRST_STRATEGY" data-uid="Lucene.Net.Search.FilteredQuery.LEAP_FROG_FILTER_FIRST_STRATEGY">LEAP_FROG_FILTER_FIRST_STRATEGY</h4>
<div class="markdown level1 summary"><p>A filter strategy that uses a &quot;leap-frog&quot; approach (also called &quot;zig-zag join&quot;).
The scorer and the filter
take turns trying to advance to each other&apos;s next matching document, often
jumping past the target document. When both land on the same document, it&apos;s
collected.
<p>
Note: this strategy uses the filter to lead the iteration.
</p></p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static readonly FilteredQuery.FilterStrategy LEAP_FROG_FILTER_FIRST_STRATEGY</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html">FilteredQuery.FilterStrategy</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_LEAP_FROG_QUERY_FIRST_STRATEGY.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.LEAP_FROG_QUERY_FIRST_STRATEGY%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L504">View Source</a>
</span>
<h4 id="Lucene_Net_Search_FilteredQuery_LEAP_FROG_QUERY_FIRST_STRATEGY" data-uid="Lucene.Net.Search.FilteredQuery.LEAP_FROG_QUERY_FIRST_STRATEGY">LEAP_FROG_QUERY_FIRST_STRATEGY</h4>
<div class="markdown level1 summary"><p>A filter strategy that uses a &quot;leap-frog&quot; approach (also called &quot;zig-zag join&quot;).
The scorer and the filter
take turns trying to advance to each other&apos;s next matching document, often
jumping past the target document. When both land on the same document, it&apos;s
collected.
<p>
Note: this strategy uses the query to lead the iteration.
</p></p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static readonly FilteredQuery.FilterStrategy LEAP_FROG_QUERY_FIRST_STRATEGY</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html">FilteredQuery.FilterStrategy</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_QUERY_FIRST_FILTER_STRATEGY.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.QUERY_FIRST_FILTER_STRATEGY%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L519">View Source</a>
</span>
<h4 id="Lucene_Net_Search_FilteredQuery_QUERY_FIRST_FILTER_STRATEGY" data-uid="Lucene.Net.Search.FilteredQuery.QUERY_FIRST_FILTER_STRATEGY">QUERY_FIRST_FILTER_STRATEGY</h4>
<div class="markdown level1 summary"><p>A filter strategy that advances the <a class="xref" href="Lucene.Net.Search.Query.html">Query</a> or rather its <a class="xref" href="Lucene.Net.Search.Scorer.html">Scorer</a> first and consults the
filter <a class="xref" href="Lucene.Net.Search.DocIdSet.html">DocIdSet</a> for each matched document.
<p>
Note: this strategy requires a <a class="xref" href="Lucene.Net.Search.DocIdSet.html#Lucene_Net_Search_DocIdSet_Bits">Bits</a> to return a non-null value. Otherwise
this strategy falls back to <a class="xref" href="Lucene.Net.Search.FilteredQuery.html#Lucene_Net_Search_FilteredQuery_LEAP_FROG_QUERY_FIRST_STRATEGY">LEAP_FROG_QUERY_FIRST_STRATEGY</a>
</p>
<p>
Use this strategy if the filter computation is more expensive than document
scoring or if the filter has a linear running time to compute the next
matching doc like exact geo distances.
</p></p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static readonly FilteredQuery.FilterStrategy QUERY_FIRST_FILTER_STRATEGY</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html">FilteredQuery.FilterStrategy</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_RANDOM_ACCESS_FILTER_STRATEGY.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.RANDOM_ACCESS_FILTER_STRATEGY%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L480">View Source</a>
</span>
<h4 id="Lucene_Net_Search_FilteredQuery_RANDOM_ACCESS_FILTER_STRATEGY" data-uid="Lucene.Net.Search.FilteredQuery.RANDOM_ACCESS_FILTER_STRATEGY">RANDOM_ACCESS_FILTER_STRATEGY</h4>
<div class="markdown level1 summary"><p>A <a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html">FilteredQuery.FilterStrategy</a> that conditionally uses a random access filter if
the given <a class="xref" href="Lucene.Net.Search.DocIdSet.html">DocIdSet</a> supports random access (returns a non-null value
from <a class="xref" href="Lucene.Net.Search.DocIdSet.html#Lucene_Net_Search_DocIdSet_Bits">Bits</a>) and
<a class="xref" href="Lucene.Net.Search.FilteredQuery.RandomAccessFilterStrategy.html#Lucene_Net_Search_FilteredQuery_RandomAccessFilterStrategy_UseRandomAccess_Lucene_Net_Util_IBits_System_Int32_">UseRandomAccess(IBits, Int32)</a> returns
<code>true</code>. Otherwise this strategy falls back to a &quot;zig-zag join&quot; (
<a class="xref" href="Lucene.Net.Search.FilteredQuery.html#Lucene_Net_Search_FilteredQuery_LEAP_FROG_FILTER_FIRST_STRATEGY">LEAP_FROG_FILTER_FIRST_STRATEGY</a>) strategy.</p>
<p>
Note: this strategy is the default strategy in <a class="xref" href="Lucene.Net.Search.FilteredQuery.html">FilteredQuery</a>
</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static readonly FilteredQuery.FilterStrategy RANDOM_ACCESS_FILTER_STRATEGY</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html">FilteredQuery.FilterStrategy</a></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="properties">Properties
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_Filter.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.Filter%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L411">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery_Filter_" data-uid="Lucene.Net.Search.FilteredQuery.Filter*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery_Filter" data-uid="Lucene.Net.Search.FilteredQuery.Filter">Filter</h4>
<div class="markdown level1 summary"><p>Returns this <a class="xref" href="Lucene.Net.Search.FilteredQuery.html">FilteredQuery</a>&apos;s filter </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Filter Filter { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.Filter.html">Filter</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_Query.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.Query%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L407">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery_Query_" data-uid="Lucene.Net.Search.FilteredQuery.Query*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery_Query" data-uid="Lucene.Net.Search.FilteredQuery.Query">Query</h4>
<div class="markdown level1 summary"><p>Returns this <a class="xref" href="Lucene.Net.Search.FilteredQuery.html">FilteredQuery</a>&apos;s (unfiltered) <a class="xref" href="Lucene.Net.Search.FilteredQuery.html#Lucene_Net_Search_FilteredQuery_Query">Query</a> </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Query Query { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.Query.html">Query</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_Strategy.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.Strategy%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L415">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery_Strategy_" data-uid="Lucene.Net.Search.FilteredQuery.Strategy*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery_Strategy" data-uid="Lucene.Net.Search.FilteredQuery.Strategy">Strategy</h4>
<div class="markdown level1 summary"><p>Returns this <a class="xref" href="Lucene.Net.Search.FilteredQuery.html">FilteredQuery</a>&apos;s <a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html">FilteredQuery.FilterStrategy</a> </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual FilteredQuery.FilterStrategy Strategy { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.FilteredQuery.FilterStrategy.html">FilteredQuery.FilterStrategy</a></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_CreateWeight_Lucene_Net_Search_IndexSearcher_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.CreateWeight(Lucene.Net.Search.IndexSearcher)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L84">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery_CreateWeight_" data-uid="Lucene.Net.Search.FilteredQuery.CreateWeight*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery_CreateWeight_Lucene_Net_Search_IndexSearcher_" data-uid="Lucene.Net.Search.FilteredQuery.CreateWeight(Lucene.Net.Search.IndexSearcher)">CreateWeight(IndexSearcher)</h4>
<div class="markdown level1 summary"><p>Returns a <a class="xref" href="Lucene.Net.Search.Weight.html">Weight</a> that applies the filter to the enclosed query&apos;s <a class="xref" href="Lucene.Net.Search.Weight.html">Weight</a>.
this is accomplished by overriding the <a class="xref" href="Lucene.Net.Search.Scorer.html">Scorer</a> returned by the <a class="xref" href="Lucene.Net.Search.Weight.html">Weight</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override Weight CreateWeight(IndexSearcher searcher)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.IndexSearcher.html">IndexSearcher</a></td>
<td><span class="parametername">searcher</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.Weight.html">Weight</a></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Lucene.Net.Search.Query.html#Lucene_Net_Search_Query_CreateWeight_Lucene_Net_Search_IndexSearcher_">Query.CreateWeight(IndexSearcher)</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_Equals_System_Object_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.Equals(System.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L442">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery_Equals_" data-uid="Lucene.Net.Search.FilteredQuery.Equals*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery_Equals_System_Object_" data-uid="Lucene.Net.Search.FilteredQuery.Equals(System.Object)">Equals(Object)</h4>
<div class="markdown level1 summary"><p>Returns true if <code data-dev-comment-type="paramref" class="paramref">o</code> is equal to this. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override bool Equals(object o)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td><span class="parametername">o</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Lucene.Net.Search.Query.html#Lucene_Net_Search_Query_Equals_System_Object_">Query.Equals(Object)</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_ExtractTerms_System_Collections_Generic_ISet_Lucene_Net_Index_Term__.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.ExtractTerms(System.Collections.Generic.ISet%7BLucene.Net.Index.Term%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L422">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery_ExtractTerms_" data-uid="Lucene.Net.Search.FilteredQuery.ExtractTerms*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery_ExtractTerms_System_Collections_Generic_ISet_Lucene_Net_Index_Term__" data-uid="Lucene.Net.Search.FilteredQuery.ExtractTerms(System.Collections.Generic.ISet{Lucene.Net.Index.Term})">ExtractTerms(ISet&lt;Term&gt;)</h4>
<div class="markdown level1 summary"><p>Expert: adds all terms occurring in this query to the terms set. Only
works if this query is in its rewritten (<a class="xref" href="Lucene.Net.Search.FilteredQuery.html#Lucene_Net_Search_FilteredQuery_Rewrite_Lucene_Net_Index_IndexReader_">Rewrite(IndexReader)</a>) form.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override void ExtractTerms(ISet&lt;Term&gt; terms)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.ISet</span>&lt;<a class="xref" href="Lucene.Net.Index.Term.html">Term</a>&gt;</td>
<td><span class="parametername">terms</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Lucene.Net.Search.Query.html#Lucene_Net_Search_Query_ExtractTerms_System_Collections_Generic_ISet_Lucene_Net_Index_Term__">Query.ExtractTerms(ISet&lt;Term&gt;)</a></div>
<h5 class="exceptions">Exceptions</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Condition</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.InvalidOperationException</span></td>
<td><p>If this query is not yet rewritten </p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_GetHashCode.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.GetHashCode%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L459">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery_GetHashCode_" data-uid="Lucene.Net.Search.FilteredQuery.GetHashCode*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery_GetHashCode" data-uid="Lucene.Net.Search.FilteredQuery.GetHashCode">GetHashCode()</h4>
<div class="markdown level1 summary"><p>Returns a hash code value for this object. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override int GetHashCode()</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Lucene.Net.Search.Query.html#Lucene_Net_Search_Query_GetHashCode">Query.GetHashCode()</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_Rewrite_Lucene_Net_Index_IndexReader_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.Rewrite(Lucene.Net.Index.IndexReader)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L387">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery_Rewrite_" data-uid="Lucene.Net.Search.FilteredQuery.Rewrite*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery_Rewrite_Lucene_Net_Index_IndexReader_" data-uid="Lucene.Net.Search.FilteredQuery.Rewrite(Lucene.Net.Index.IndexReader)">Rewrite(IndexReader)</h4>
<div class="markdown level1 summary"><p>Rewrites the query. If the wrapped is an instance of
<a class="xref" href="Lucene.Net.Search.MatchAllDocsQuery.html">MatchAllDocsQuery</a> it returns a <a class="xref" href="Lucene.Net.Search.ConstantScoreQuery.html">ConstantScoreQuery</a>. Otherwise
it returns a new <a class="xref" href="Lucene.Net.Search.FilteredQuery.html">FilteredQuery</a> wrapping the rewritten query.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override Query Rewrite(IndexReader reader)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Index.IndexReader.html">IndexReader</a></td>
<td><span class="parametername">reader</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Search.Query.html">Query</a></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Lucene.Net.Search.Query.html#Lucene_Net_Search_Query_Rewrite_Lucene_Net_Index_IndexReader_">Query.Rewrite(IndexReader)</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery_ToString_System_String_.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery.ToString(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L429">View Source</a>
</span>
<a id="Lucene_Net_Search_FilteredQuery_ToString_" data-uid="Lucene.Net.Search.FilteredQuery.ToString*"></a>
<h4 id="Lucene_Net_Search_FilteredQuery_ToString_System_String_" data-uid="Lucene.Net.Search.FilteredQuery.ToString(System.String)">ToString(String)</h4>
<div class="markdown level1 summary"><p>Prints a user-readable version of this query. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override string ToString(string s)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">s</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Lucene.Net.Search.Query.html#Lucene_Net_Search_Query_ToString_System_String_">Query.ToString(String)</a></div>
<h3 id="seealso">See Also</h3>
<div class="seealso">
<div><a class="xref" href="Lucene.Net.Search.CachingWrapperFilter.html">CachingWrapperFilter</a></div>
</div>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
<li>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Search_FilteredQuery.md&amp;value=---%0Auid%3A%20Lucene.Net.Search.FilteredQuery%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li>
<li>
<a href="https://github.com/apache/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Search/FilteredQuery.cs/#L41" class="contribution-link">View Source</a>
</li>
</ul>
</div>
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
Copyright © 2020 Licensed to the Apache Software Foundation (ASF)
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.js"></script>
<script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.js"></script>
<script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.js"></script>
</body>
</html>