﻿<!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.Search.Payloads
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Namespace Lucene.Net.Search.Payloads
   | Apache Lucene.NET 4.8.0-beta00013 Documentation ">
    <meta name="generator" content="docfx 2.56.2.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">
    <span id="forkongithub"><a href="https://github.com/apache/lucenenet" target="_blank">Fork me on GitHub</a></span>
    <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.Payloads">
  
  <h1 id="Lucene_Net_Search_Payloads" data-uid="Lucene.Net.Search.Payloads" class="text-break">Namespace Lucene.Net.Search.Payloads
  </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>The payloads package provides Query mechanisms for finding and using payloads.</p>
<p> The following Query implementations are provided: 1. <a class="xref" href="Lucene.Net.Search.Payloads.PayloadTermQuery.html">PayloadTermQuery</a> -- Boost a term&#39;s score based on the value of the payload located at that term. 2. <a class="xref" href="Lucene.Net.Search.Payloads.PayloadNearQuery.html">PayloadNearQuery</a> -- A <a class="xref" href="Lucene.Net.Search.Spans.SpanNearQuery.html">SpanNearQuery</a> that factors in the value of the payloads located at each of the positions where the spans occur. </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.Search.Payloads.AveragePayloadFunction.html">AveragePayloadFunction</a></h4>
      <section><p>Calculate the final score as the average score of all payloads seen.
<p>
Is thread safe and completely reusable.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.Search.Payloads.MaxPayloadFunction.html">MaxPayloadFunction</a></h4>
      <section><p>Returns the maximum payload score seen, else 1 if there are no payloads on the doc.
<p>
Is thread safe and completely reusable.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.Search.Payloads.MinPayloadFunction.html">MinPayloadFunction</a></h4>
      <section><p>Calculates the minimum payload seen</p>
</section>
      <h4><a class="xref" href="Lucene.Net.Search.Payloads.PayloadFunction.html">PayloadFunction</a></h4>
      <section><p>An abstract class that defines a way for Payload*Query instances to transform
the cumulative effects of payload scores for a document.
<p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div><p> this class and its derivations are experimental and subject to
change</p>
</section>
      <h4><a class="xref" href="Lucene.Net.Search.Payloads.PayloadNearQuery.html">PayloadNearQuery</a></h4>
      <section><p>This class is very similar to
<a class="xref" href="Lucene.Net.Search.Spans.SpanNearQuery.html">SpanNearQuery</a> except that it factors
in the value of the payloads located at each of the positions where the
<a class="xref" href="Lucene.Net.Search.Spans.TermSpans.html">TermSpans</a> occurs.
<p>
NOTE: In order to take advantage of this with the default scoring implementation
(<a class="xref" href="Lucene.Net.Search.Similarities.DefaultSimilarity.html">DefaultSimilarity</a>), you must override <a class="xref" href="Lucene.Net.Search.Similarities.DefaultSimilarity.html#Lucene_Net_Search_Similarities_DefaultSimilarity_ScorePayload_System_Int32_System_Int32_System_Int32_Lucene_Net_Util_BytesRef_">ScorePayload(Int32, Int32, Int32, BytesRef)</a>,
which returns 1 by default.
<p>
Payload scores are aggregated using a pluggable <a class="xref" href="Lucene.Net.Search.Payloads.PayloadFunction.html">PayloadFunction</a>.</p>
</section>
      <h4><a class="xref" href="Lucene.Net.Search.Payloads.PayloadNearQuery.PayloadNearSpanScorer.html">PayloadNearQuery.PayloadNearSpanScorer</a></h4>
      <section></section>
      <h4><a class="xref" href="Lucene.Net.Search.Payloads.PayloadNearQuery.PayloadNearSpanWeight.html">PayloadNearQuery.PayloadNearSpanWeight</a></h4>
      <section></section>
      <h4><a class="xref" href="Lucene.Net.Search.Payloads.PayloadSpanUtil.html">PayloadSpanUtil</a></h4>
      <section><p>Experimental class to get set of payloads for most standard Lucene queries.
Operates like Highlighter - <a class="xref" href="Lucene.Net.Index.IndexReader.html">IndexReader</a> should only contain doc of interest,
best to use MemoryIndex.
<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.Search.Payloads.PayloadTermQuery.html">PayloadTermQuery</a></h4>
      <section><p>This class is very similar to
<a class="xref" href="Lucene.Net.Search.Spans.SpanTermQuery.html">SpanTermQuery</a> except that it factors
in the value of the payload located at each of the positions where the
<a class="xref" href="Lucene.Net.Index.Term.html">Term</a> occurs.
<p>
NOTE: In order to take advantage of this with the default scoring implementation
(<a class="xref" href="Lucene.Net.Search.Similarities.DefaultSimilarity.html">DefaultSimilarity</a>), you must override <a class="xref" href="Lucene.Net.Search.Similarities.DefaultSimilarity.html#Lucene_Net_Search_Similarities_DefaultSimilarity_ScorePayload_System_Int32_System_Int32_System_Int32_Lucene_Net_Util_BytesRef_">ScorePayload(Int32, Int32, Int32, BytesRef)</a>,
which returns 1 by default.
<p>
Payload scores are aggregated using a pluggable <a class="xref" href="Lucene.Net.Search.Payloads.PayloadFunction.html">PayloadFunction</a>. </p>
</section>
      <h4><a class="xref" href="Lucene.Net.Search.Payloads.PayloadTermQuery.PayloadTermWeight.html">PayloadTermQuery.PayloadTermWeight</a></h4>
      <section></section>
      <h4><a class="xref" href="Lucene.Net.Search.Payloads.PayloadTermQuery.PayloadTermWeight.PayloadTermSpanScorer.html">PayloadTermQuery.PayloadTermWeight.PayloadTermSpanScorer</a></h4>
      <section></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-beta00013/src/Lucene.Net/Search/Payloads/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 The Apache Software Foundation, Licensed under the <a href='http://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache License, Version 2.0</a><br> <small>Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation. <br>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</small>
            
          </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>
