blob: 983a46f37014c29f3a21d1e60ee47593187bca1b [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.Codecs.BlockTerms
| Apache Lucene.NET 4.8.0-beta00010 Documentation </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Namespace Lucene.Net.Codecs.BlockTerms
| 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="codecs/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.Codecs.BlockTerms">
<h1 id="Lucene_Net_Codecs_BlockTerms" data-uid="Lucene.Net.Codecs.BlockTerms" class="text-break">Namespace Lucene.Net.Codecs.BlockTerms
</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.
-->
<p>Pluggable term index / block terms dictionary implementations.</p>
</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.Codecs.BlockTerms.BlockTermsReader.html">BlockTermsReader</a></h4>
<section><p>Handles a terms dict, but decouples all details of
doc/freqs/positions reading to an instance of
<span class="xref">Lucene.Net.Codecs.PostingsReaderBase</span>. This class is reusable for
codecs that use a different format for
docs/freqs/positions (though codecs are also free to
make their own terms dict impl).
<p>
This class also interacts with an instance of
<a class="xref" href="Lucene.Net.Codecs.BlockTerms.TermsIndexReaderBase.html">TermsIndexReaderBase</a>, to abstract away the specific
implementation of the terms dict index.
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.BlockTermsWriter.html">BlockTermsWriter</a></h4>
<section><p>Writes terms dict, block-encoding (column stride) each term&apos;s metadata
for each set of terms between two index terms.
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.FixedGapTermsIndexReader.html">FixedGapTermsIndexReader</a></h4>
<section><p><a class="xref" href="Lucene.Net.Codecs.BlockTerms.TermsIndexReaderBase.html">TermsIndexReaderBase</a> for simple every Nth terms indexes.
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.FixedGapTermsIndexWriter.html">FixedGapTermsIndexWriter</a></h4>
<section><p>Selects every Nth term as and index term, and hold term
bytes (mostly) fully expanded in memory. This terms index
supports seeking by ord. See
<a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexWriter.html">VariableGapTermsIndexWriter</a> for a more memory efficient
terms index that does not support seeking by ord.
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.TermsIndexReaderBase.html">TermsIndexReaderBase</a></h4>
<section><p><a class="xref" href="Lucene.Net.Codecs.BlockTerms.BlockTermsReader.html">BlockTermsReader</a> interacts with an instance of this class
to manage its terms index. The writer must accept
indexed terms (many pairs of <span class="xref">Lucene.Net.Util.BytesRef</span> text + long
fileOffset), and then this reader must be able to
retrieve the nearest index term to a provided term
text.
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.TermsIndexReaderBase.FieldIndexEnum.html">TermsIndexReaderBase.FieldIndexEnum</a></h4>
<section><p>Similar to <span class="xref">Lucene.Net.Index.TermsEnum</span>, except, the only &quot;metadata&quot; it
reports for a given indexed term is the long fileOffset
into the main terms dictionary file.</p>
</section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.TermsIndexWriterBase.html">TermsIndexWriterBase</a></h4>
<section><p>Base class for terms index implementations to plug
into <a class="xref" href="Lucene.Net.Codecs.BlockTerms.BlockTermsWriter.html">BlockTermsWriter</a>.
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div><p>
</section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.TermsIndexWriterBase.FieldWriter.html">TermsIndexWriterBase.FieldWriter</a></h4>
<section><p>Terms index API for a single field.</p>
</section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexReader.html">VariableGapTermsIndexReader</a></h4>
<section><p>See <a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexWriter.html">VariableGapTermsIndexWriter</a>.
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexWriter.html">VariableGapTermsIndexWriter</a></h4>
<section><p>Selects index terms according to provided pluggable
<a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexWriter.IndexTermSelector.html">VariableGapTermsIndexWriter.IndexTermSelector</a>, and stores them in a prefix trie that&apos;s
loaded entirely in RAM stored as an <span class="xref">Lucene.Net.Util.Fst.FST`1</span>. This terms
index only supports unsigned byte term sort order
(unicode codepoint order when the bytes are UTF8).
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexWriter.EveryNOrDocFreqTermSelector.html">VariableGapTermsIndexWriter.EveryNOrDocFreqTermSelector</a></h4>
<section><p>Sets an index term when docFreq &gt;= docFreqThresh, or
every interval terms. This should reduce seek time
to high docFreq terms. </p>
</section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexWriter.EveryNTermSelector.html">VariableGapTermsIndexWriter.EveryNTermSelector</a></h4>
<section></section>
<h4><a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexWriter.IndexTermSelector.html">VariableGapTermsIndexWriter.IndexTermSelector</a></h4>
<section><p>Hook for selecting which terms should be placed in the terms index.
<p>
<a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexWriter.IndexTermSelector.html#Lucene_Net_Codecs_BlockTerms_VariableGapTermsIndexWriter_IndexTermSelector_NewField_Lucene_Net_Index_FieldInfo_">NewField(FieldInfo)</a> is called at the start of each new field, and
<a class="xref" href="Lucene.Net.Codecs.BlockTerms.VariableGapTermsIndexWriter.IndexTermSelector.html#Lucene_Net_Codecs_BlockTerms_VariableGapTermsIndexWriter_IndexTermSelector_IsIndexTerm_Lucene_Net_Util_BytesRef_Lucene_Net_Codecs_TermStats_">IsIndexTerm(BytesRef, TermStats)</a> for each term in that field.
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></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-beta00010/src/Lucene.Net.Codecs/BlockTerms/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>