﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class Int16DocValuesField
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class Int16DocValuesField
   | 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.Documents.Int16DocValuesField">
  
  
  <h1 id="Lucene_Net_Documents_Int16DocValuesField" data-uid="Lucene.Net.Documents.Int16DocValuesField" class="text-break">Class Int16DocValuesField
  </h1>
  <div class="markdown level0 summary"><p>
Field that stores a per-document <span class="xref">System.Int16</span> value for scoring,
sorting or value retrieval. Here&apos;s an example usage:

<pre><code>    document.Add(new Int16DocValuesField(name, (short) 22));</code></pre>
</p>

<p>
If you also need to store the value, you should add a
separate <a class="xref" href="Lucene.Net.Documents.StoredField.html">StoredField</a> instance.
</p>
<p>
NOTE: This was ShortDocValuesField in Lucene
</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.Documents.Field.html">Field</a></div>
    <div class="level2"><a class="xref" href="Lucene.Net.Documents.NumericDocValuesField.html">NumericDocValuesField</a></div>
    <div class="level3"><span class="xref">Int16DocValuesField</span></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="Lucene.Net.Index.IIndexableField.html">IIndexableField</a></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Lucene.Net.Documents.NumericDocValuesField.html#Lucene_Net_Documents_NumericDocValuesField_TYPE">NumericDocValuesField.TYPE</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_m_type">Field.m_type</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_m_name">Field.m_name</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_FieldsData">Field.FieldsData</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_m_tokenStream">Field.m_tokenStream</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_m_boost">Field.m_boost</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetStringValue">Field.GetStringValue()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetStringValue_System_IFormatProvider_">Field.GetStringValue(IFormatProvider)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetStringValue_System_String_">Field.GetStringValue(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetStringValue_System_String_System_IFormatProvider_">Field.GetStringValue(String, IFormatProvider)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetReaderValue">Field.GetReaderValue()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetTokenStreamValue">Field.GetTokenStreamValue()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetStringValue_System_String_">Field.SetStringValue(String)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetReaderValue_System_IO_TextReader_">Field.SetReaderValue(TextReader)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetBytesValue_Lucene_Net_Util_BytesRef_">Field.SetBytesValue(BytesRef)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetBytesValue_System_Byte___">Field.SetBytesValue(Byte[])</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetByteValue_System_Byte_">Field.SetByteValue(Byte)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetInt32Value_System_Int32_">Field.SetInt32Value(Int32)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetInt64Value_System_Int64_">Field.SetInt64Value(Int64)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetSingleValue_System_Single_">Field.SetSingleValue(Single)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetDoubleValue_System_Double_">Field.SetDoubleValue(Double)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetTokenStream_Lucene_Net_Analysis_TokenStream_">Field.SetTokenStream(TokenStream)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_Name">Field.Name</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_Boost">Field.Boost</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetNumericValue">Field.GetNumericValue()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_NumericType">Field.NumericType</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetByteValue">Field.GetByteValue()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetInt16Value">Field.GetInt16Value()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetInt32Value">Field.GetInt32Value()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetInt64Value">Field.GetInt64Value()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetSingleValue">Field.GetSingleValue()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetDoubleValue">Field.GetDoubleValue()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetBinaryValue">Field.GetBinaryValue()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_ToString">Field.ToString()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_FieldType">Field.FieldType</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_IndexableFieldType">Field.IndexableFieldType</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_GetTokenStream_Lucene_Net_Analysis_Analyzer_">Field.GetTokenStream(Analyzer)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_TranslateFieldType_Lucene_Net_Documents_Field_Store_Lucene_Net_Documents_Field_Index_Lucene_Net_Documents_Field_TermVector_">Field.TranslateFieldType(Field.Store, Field.Index, Field.TermVector)</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</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.Documents.html">Lucene.Net.Documents</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.dll</h6>
  <h5 id="Lucene_Net_Documents_Int16DocValuesField_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use NumericDocValuesField instead.&quot;)]
public class Int16DocValuesField : NumericDocValuesField, IIndexableField</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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Documents_Int16DocValuesField__ctor_System_String_System_Int16_.md&amp;value=---%0Auid%3A%20Lucene.Net.Documents.Int16DocValuesField.%23ctor(System.String%2CSystem.Int16)%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/fix/apidocs-layout/src/Lucene.Net/Document/ShortDocValuesField.cs/#L49">View Source</a>
  </span>
  <a id="Lucene_Net_Documents_Int16DocValuesField__ctor_" data-uid="Lucene.Net.Documents.Int16DocValuesField.#ctor*"></a>
  <h4 id="Lucene_Net_Documents_Int16DocValuesField__ctor_System_String_System_Int16_" data-uid="Lucene.Net.Documents.Int16DocValuesField.#ctor(System.String,System.Int16)">Int16DocValuesField(String, Int16)</h4>
  <div class="markdown level1 summary"><p>Creates a new <a class="xref" href="Lucene.Net.Index.DocValues.html">DocValues</a> field with the specified 16-bit <span class="xref">System.Int16</span> value </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Int16DocValuesField(string name, short value)</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">name</span></td>
        <td><p>field name </p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int16</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>16-bit <span class="xref">System.Int16</span> value </p>
</td>
      </tr>
    </tbody>
  </table>
  <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.ArgumentNullException</span></td>
        <td><p>if the field <code data-dev-comment-type="paramref" class="paramref">name</code> is <code>null</code> </p>
</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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Documents_Int16DocValuesField_SetInt16Value_System_Int16_.md&amp;value=---%0Auid%3A%20Lucene.Net.Documents.Int16DocValuesField.SetInt16Value(System.Int16)%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/fix/apidocs-layout/src/Lucene.Net/Document/ShortDocValuesField.cs/#L54">View Source</a>
  </span>
  <a id="Lucene_Net_Documents_Int16DocValuesField_SetInt16Value_" data-uid="Lucene.Net.Documents.Int16DocValuesField.SetInt16Value*"></a>
  <h4 id="Lucene_Net_Documents_Int16DocValuesField_SetInt16Value_System_Int16_" data-uid="Lucene.Net.Documents.Int16DocValuesField.SetInt16Value(System.Int16)">SetInt16Value(Int16)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void SetInt16Value(short value)</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.Int16</span></td>
        <td><span class="parametername">value</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Documents.Field.html#Lucene_Net_Documents_Field_SetInt16Value_System_Int16_">Field.SetInt16Value(Int16)</a></div>
  <h3 id="implements">Implements</h3>
  <div>
      <a class="xref" href="Lucene.Net.Index.IIndexableField.html">IIndexableField</a>
  </div>
  <h3 id="extensionmethods">Extension Methods</h3>
  <div>
      <a class="xref" href="Lucene.Net.Documents.Extensions.IndexableFieldExtensions.html#Lucene_Net_Documents_Extensions_IndexableFieldExtensions_GetByteValueOrDefault_Lucene_Net_Index_IIndexableField_">IndexableFieldExtensions.GetByteValueOrDefault(IIndexableField)</a>
  </div>
  <div>
      <a class="xref" href="Lucene.Net.Documents.Extensions.IndexableFieldExtensions.html#Lucene_Net_Documents_Extensions_IndexableFieldExtensions_GetInt16ValueOrDefault_Lucene_Net_Index_IIndexableField_">IndexableFieldExtensions.GetInt16ValueOrDefault(IIndexableField)</a>
  </div>
  <div>
      <a class="xref" href="Lucene.Net.Documents.Extensions.IndexableFieldExtensions.html#Lucene_Net_Documents_Extensions_IndexableFieldExtensions_GetInt32ValueOrDefault_Lucene_Net_Index_IIndexableField_">IndexableFieldExtensions.GetInt32ValueOrDefault(IIndexableField)</a>
  </div>
  <div>
      <a class="xref" href="Lucene.Net.Documents.Extensions.IndexableFieldExtensions.html#Lucene_Net_Documents_Extensions_IndexableFieldExtensions_GetInt64ValueOrDefault_Lucene_Net_Index_IIndexableField_">IndexableFieldExtensions.GetInt64ValueOrDefault(IIndexableField)</a>
  </div>
  <div>
      <a class="xref" href="Lucene.Net.Documents.Extensions.IndexableFieldExtensions.html#Lucene_Net_Documents_Extensions_IndexableFieldExtensions_GetSingleValueOrDefault_Lucene_Net_Index_IIndexableField_">IndexableFieldExtensions.GetSingleValueOrDefault(IIndexableField)</a>
  </div>
  <div>
      <a class="xref" href="Lucene.Net.Documents.Extensions.IndexableFieldExtensions.html#Lucene_Net_Documents_Extensions_IndexableFieldExtensions_GetDoubleValueOrDefault_Lucene_Net_Index_IIndexableField_">IndexableFieldExtensions.GetDoubleValueOrDefault(IIndexableField)</a>
  </div>
  <h3 id="seealso">See Also</h3>
  <div class="seealso">
      <div><a class="xref" href="Lucene.Net.Documents.NumericDocValuesField.html">NumericDocValuesField</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-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Documents_Int16DocValuesField.md&amp;value=---%0Auid%3A%20Lucene.Net.Documents.Int16DocValuesField%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/fix/apidocs-layout/src/Lucene.Net/Document/ShortDocValuesField.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 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>
