﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface ITaxonomyWriter
   | Apache Lucene.NET 4.8.0-beta00008 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface ITaxonomyWriter
   | Apache Lucene.NET 4.8.0-beta00008 Documentation ">
    <meta name="generator" content="docfx 2.50.0.0">
    
    <link rel="shortcut icon" href="../../logo/favicon.ico">
    <link rel="stylesheet" href="../../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../../styles/docfx.css">
    <link rel="stylesheet" href="../../styles/main.css">
    <meta property="docfx:navrel" content="../../toc.html">
    <meta property="docfx:tocrel" content="../toc.html">
    
    <meta property="docfx:rel" content="../../">
    
  </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="../../index.html">
                <img id="logo" class="svg" src="../../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" id="breadcrumb">
            <ul class="breadcrumb">
              <li></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.Facet.Taxonomy.ITaxonomyWriter">
  
  
  <h1 id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter" class="text-break">Interface ITaxonomyWriter
  </h1>
  <div class="markdown level0 summary"><p><a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html">ITaxonomyWriter</a> is the interface which the faceted-search library uses
to dynamically build the taxonomy at indexing time.
<p>
Notes about concurrent access to the taxonomy:
</p>
<p>
An implementation must allow multiple readers and a single writer to be
active concurrently. Readers follow so-called &quot;point in time&quot; semantics,
i.e., a reader object will only see taxonomy entries which were available
at the time it was created. What the writer writes is only available to
(new) readers after the writer&apos;s <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexWriter.html#Lucene_Net_Index_IndexWriter_Commit">Commit()</a> is called.
</p>
<p>
Faceted search keeps two indices - namely Lucene&apos;s main index, and this
taxonomy index. When one or more readers are active concurrently with the
writer, care must be taken to avoid an inconsistency between the state of
these two indices: When writing to the indices, the taxonomy must always
be committed to disk <em>before</em> the main index, because the main index
refers to categories listed in the taxonomy.
Such control can best be achieved by turning off the main index&apos;s
&quot;autocommit&quot; feature, and explicitly calling <a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexWriter.html#Lucene_Net_Index_IndexWriter_Commit">Commit()</a> for both indices
(first for the taxonomy, then for the main index).
In old versions of Lucene (2.2 or earlier), when autocommit could not be
turned off, a more complicated solution needs to be used. E.g., use
some sort of (possibly inter-process) locking to ensure that a reader
is being opened only right after both indices have been flushed (and
before anything else is written to them).
</p></p>
<div class="lucene-block lucene-experimental">This is a Lucene.NET EXPERIMENTAL API, use at your own risk</div></div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.IDisposable.Dispose()</span>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.ITwoPhaseCommit.html#Lucene_Net_Index_ITwoPhaseCommit_PrepareCommit">ITwoPhaseCommit.PrepareCommit()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.ITwoPhaseCommit.html#Lucene_Net_Index_ITwoPhaseCommit_Commit">ITwoPhaseCommit.Commit()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Index.ITwoPhaseCommit.html#Lucene_Net_Index_ITwoPhaseCommit_Rollback">ITwoPhaseCommit.Rollback()</a>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.Facet.Taxonomy.html">Lucene.Net.Facet.Taxonomy</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Facet.dll</h6>
  <h5 id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface ITaxonomyWriter : IDisposable, ITwoPhaseCommit</code></pre>
  </div>
  <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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_CommitData.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.CommitData%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/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Facet/Taxonomy/TaxonomyWriter.cs/#L130">View Source</a>
  </span>
  <a id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_CommitData_" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.CommitData*"></a>
  <h4 id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_CommitData" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.CommitData">CommitData</h4>
  <div class="markdown level1 summary"><p>Returns the commit user data map that was set on
<a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_SetCommitData_System_Collections_Generic_IDictionary_System_String_System_String__">SetCommitData(IDictionary&lt;String, String&gt;)</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IDictionary&lt;string, string&gt; CommitData { 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><span class="xref">System.Collections.Generic.IDictionary</span>&lt;<span class="xref">System.String</span>, <span class="xref">System.String</span>&gt;</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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_Count.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.Count%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/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Facet/Taxonomy/TaxonomyWriter.cs/#L113">View Source</a>
  </span>
  <a id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_Count_" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.Count*"></a>
  <h4 id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_Count" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.Count">Count</h4>
  <div class="markdown level1 summary"><p><a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_Count">Count</a> returns the number of categories in the taxonomy.
<p>
Because categories are numbered consecutively starting with 0, it
means the taxonomy contains ordinals 0 through <a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_Count">Count</a>-1.
<p>
Note that the number returned by <a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_Count">Count</a> is often slightly higher
than the number of categories inserted into the taxonomy; This is
because when a category is added to the taxonomy, its ancestors
are also added automatically (including the root, which always get
ordinal 0).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int Count { 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><span class="xref">System.Int32</span></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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_AddCategory_Lucene_Net_Facet_Taxonomy_FacetLabel_.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.AddCategory(Lucene.Net.Facet.Taxonomy.FacetLabel)%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/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Facet/Taxonomy/TaxonomyWriter.cs/#L69">View Source</a>
  </span>
  <a id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_AddCategory_" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.AddCategory*"></a>
  <h4 id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_AddCategory_Lucene_Net_Facet_Taxonomy_FacetLabel_" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.AddCategory(Lucene.Net.Facet.Taxonomy.FacetLabel)">AddCategory(FacetLabel)</h4>
  <div class="markdown level1 summary"><p><a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_AddCategory_Lucene_Net_Facet_Taxonomy_FacetLabel_">AddCategory(FacetLabel)</a> adds a category with a given path name to the taxonomy,
and returns its ordinal. If the category was already present in
the taxonomy, its existing ordinal is returned.
<p>
Before adding a category, <a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_AddCategory_Lucene_Net_Facet_Taxonomy_FacetLabel_">AddCategory(FacetLabel)</a> makes sure that all its
ancestor categories exist in the taxonomy as well. As result, the
ordinal of a category is guaranteed to be smaller then the ordinal of
any of its descendants. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int AddCategory(FacetLabel categoryPath)</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.Facet.Taxonomy.FacetLabel.html">FacetLabel</a></td>
        <td><span class="parametername">categoryPath</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.Int32</span></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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_GetParent_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.GetParent(System.Int32)%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/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Facet/Taxonomy/TaxonomyWriter.cs/#L99">View Source</a>
  </span>
  <a id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_GetParent_" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.GetParent*"></a>
  <h4 id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_GetParent_System_Int32_" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.GetParent(System.Int32)">GetParent(Int32)</h4>
  <div class="markdown level1 summary"><p><a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_GetParent_System_Int32_">GetParent(Int32)</a> returns the ordinal of the parent category of the category
with the given ordinal.
<p>
When a category is specified as a path name, finding the path of its
parent is as trivial as dropping the last component of the path.
<a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_GetParent_System_Int32_">GetParent(Int32)</a> is functionally equivalent to calling <a class="xref" href="Lucene.Net.Facet.Taxonomy.TaxonomyReader.html#Lucene_Net_Facet_Taxonomy_TaxonomyReader_GetPath_System_Int32_">GetPath(Int32)</a> on the
given ordinal, dropping the last component of the path, and then calling
<a class="xref" href="Lucene.Net.Facet.Taxonomy.TaxonomyReader.html#Lucene_Net_Facet_Taxonomy_TaxonomyReader_GetOrdinal_Lucene_Net_Facet_Taxonomy_FacetLabel_">GetOrdinal(FacetLabel)</a> to get an ordinal back.
</p>
<p>
If the given ordinal is the <a class="xref" href="Lucene.Net.Facet.Taxonomy.TaxonomyReader.html#Lucene_Net_Facet_Taxonomy_TaxonomyReader_ROOT_ORDINAL">ROOT_ORDINAL</a>, an 
<a class="xref" href="Lucene.Net.Facet.Taxonomy.TaxonomyReader.html#Lucene_Net_Facet_Taxonomy_TaxonomyReader_INVALID_ORDINAL">INVALID_ORDINAL</a> is returned.
If the given ordinal is a top-level category, the 
<a class="xref" href="Lucene.Net.Facet.Taxonomy.TaxonomyReader.html#Lucene_Net_Facet_Taxonomy_TaxonomyReader_ROOT_ORDINAL">ROOT_ORDINAL</a> is returned.
If an invalid ordinal is given (negative or beyond the last available
ordinal), an <span class="xref">System.IndexOutOfRangeException</span> is thrown. However, it is
expected that <a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_GetParent_System_Int32_">GetParent(Int32)</a> will only be called for ordinals which are
already known to be in the taxonomy.
</p>
<p>
TODO (Facet): instead of a <a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_GetParent_System_Int32_">GetParent(Int32)</a> method, consider having a
GetCategory(categorypath, prefixlen) which is similar to <a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_AddCategory_Lucene_Net_Facet_Taxonomy_FacetLabel_">AddCategory(FacetLabel)</a>
except it doesn&apos;t add new categories; This method can be used to get
the ordinals of all prefixes of the given category, and it can use
exactly the same code and cache used by <a class="xref" href="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.html#Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_AddCategory_Lucene_Net_Facet_Taxonomy_FacetLabel_">AddCategory(FacetLabel)</a> so it means less code.
</p></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int GetParent(int ordinal)</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.Int32</span></td>
        <td><span class="parametername">ordinal</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.Int32</span></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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_SetCommitData_System_Collections_Generic_IDictionary_System_String_System_String__.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.SetCommitData(System.Collections.Generic.IDictionary%7BSystem.String%2CSystem.String%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/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Facet/Taxonomy/TaxonomyWriter.cs/#L124">View Source</a>
  </span>
  <a id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_SetCommitData_" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.SetCommitData*"></a>
  <h4 id="Lucene_Net_Facet_Taxonomy_ITaxonomyWriter_SetCommitData_System_Collections_Generic_IDictionary_System_String_System_String__" data-uid="Lucene.Net.Facet.Taxonomy.ITaxonomyWriter.SetCommitData(System.Collections.Generic.IDictionary{System.String,System.String})">SetCommitData(IDictionary&lt;String, String&gt;)</h4>
  <div class="markdown level1 summary"><p>Sets the commit user data map. That method is considered a transaction and
will be committed (<a class="xref" href="../Lucene.Net/Lucene.Net.Index.IndexWriter.html#Lucene_Net_Index_IndexWriter_Commit">Commit()</a>) even if no other changes were made to
the writer instance.
<p>
<strong>NOTE:</strong> the map is cloned internally, therefore altering the map&apos;s
contents after calling this method has no effect.
</p></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void SetCommitData(IDictionary&lt;string, string&gt; commitUserData)</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.IDictionary</span>&lt;<span class="xref">System.String</span>, <span class="xref">System.String</span>&gt;</td>
        <td><span class="parametername">commitUserData</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</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-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Facet_Taxonomy_ITaxonomyWriter.md&amp;value=---%0Auid%3A%20Lucene.Net.Facet.Taxonomy.ITaxonomyWriter%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/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Facet/Taxonomy/TaxonomyWriter.cs/#L57" 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="../../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../../styles/docfx.js"></script>
    <script type="text/javascript" src="../../styles/main.js"></script>
  </body>
</html>
