blob: c04e8b20361629ce2b2481daceea4128735b0609 [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>Namespace Lucene.Net.QueryParsers.Surround.Query
| Apache Lucene.NET 4.8.0-beta00011 Documentation </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Namespace Lucene.Net.QueryParsers.Surround.Query
| Apache Lucene.NET 4.8.0-beta00011 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="queryparser/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.QueryParsers.Surround.Query">
<h1 id="Lucene_Net_QueryParsers_Surround_Query" data-uid="Lucene.Net.QueryParsers.Surround.Query" class="text-break">Namespace Lucene.Net.QueryParsers.Surround.Query
</h1>
<div class="markdown level0 summary"><!--
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.
-->
<pre><code>This package contains SrndQuery and its subclasses.
The parser in the org.apache.lucene.queryparser.surround.parser package
normally generates a SrndQuery.
For searching an org.apache.lucene.search.Query is provided by
the SrndQuery.makeLuceneQueryField method.
For this, TermQuery, BooleanQuery and SpanQuery are used from Lucene.
</code></pre></div>
<div class="markdown level0 conceptual"></div>
<div class="markdown level0 remarks"></div>
<h3 id="classes">Classes
</h3>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.AndQuery.html">AndQuery</a></h4>
<section><p>Factory for conjunctions</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.BasicQueryFactory.html">BasicQueryFactory</a></h4>
<section><p>Factory for creating basic term queries</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.ComposedQuery.html">ComposedQuery</a></h4>
<section><p>Base class for composite queries (such as AND/OR/NOT)</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.DistanceQuery.html">DistanceQuery</a></h4>
<section><p>Factory for NEAR queries </p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.FieldsQuery.html">FieldsQuery</a></h4>
<section><p>Forms an OR query of the provided query across multiple fields.</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.NotQuery.html">NotQuery</a></h4>
<section><p>Factory for prohibited clauses</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.OrQuery.html">OrQuery</a></h4>
<section><p>Factory for disjunctions</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SimpleTerm.html">SimpleTerm</a></h4>
<section><p>Base class for queries that expand to sets of simple terms.</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SpanNearClauseFactory.html">SpanNearClauseFactory</a></h4>
<section><p>SpanNearClauseFactory:
<p>
Operations:</p>
<p><ul><li>create for a field name and an indexreader.</li><li>add a weighted Term - this should add a corresponding SpanTermQuery, or increase the weight of an existing one.</li><li>add a weighted subquery SpanNearQuery</li><li>create a clause for SpanNearQuery from the things added above.</li></ul>
<p>
For this, create an array of SpanQuery&apos;s from the added ones.
The clause normally is a SpanOrQuery over the added subquery SpanNearQuery
the SpanTermQuery&apos;s for the added Term&apos;s
<p>
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&apos;s by adding the weights of the corresponding subqueries.
<p>
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:</p>
<ul>
<li>SpanOrQuery: in principle yes, but it only has access to it&apos;s terms
via getTerms(); are the corresponding weights available?</li>
<li>SpanFirstQuery: treat similar to subquery SpanNearQuery. (ok?)</li>
<li>SpanNotQuery: treat similar to subquery SpanNearQuery. (ok?)</li>
</ul>
<p>Factory for <a class="xref" href="http://localhost:8080/api/core/Lucene.Net.Search.Spans.SpanOrQuery.html">SpanOrQuery</a></p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndPrefixQuery.html">SrndPrefixQuery</a></h4>
<section><p>Query that matches string prefixes</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndQuery.html">SrndQuery</a></h4>
<section><p>Lowest level base class for surround queries </p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndTermQuery.html">SrndTermQuery</a></h4>
<section><p>Simple single-term clause</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SrndTruncQuery.html">SrndTruncQuery</a></h4>
<section><p>Query that matches wildcards</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.TooManyBasicQueries.html">TooManyBasicQueries</a></h4>
<section><p>Exception thrown when <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.BasicQueryFactory.html">BasicQueryFactory</a> would exceed the limit
of query clauses.</p>
</section>
<h3 id="interfaces">Interfaces
</h3>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.IDistanceSubQuery.html">IDistanceSubQuery</a></h4>
<section><p>Interface for queries that can be nested as subqueries
into a span near.</p>
</section>
<h4><a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SimpleTerm.IMatchingTermVisitor.html">SimpleTerm.IMatchingTermVisitor</a></h4>
<section><p>Callback to visit each matching term during &quot;rewrite&quot;
in <a class="xref" href="Lucene.Net.QueryParsers.Surround.Query.SimpleTerm.IMatchingTermVisitor.html#Lucene_Net_QueryParsers_Surround_Query_SimpleTerm_IMatchingTermVisitor_VisitMatchingTerm_Lucene_Net_Index_Term_">VisitMatchingTerm(Term)</a></p>
</section>
</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/blob/docs/4.8.0-beta00011/src/Lucene.Net.QueryParser/Surround/Query/package.md/#L2" class="contribution-link">Improve this Doc</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>