<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3"/>
<title>Lucene.Net: core/Index/DocFieldProcessor.cs Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="lucene-net-icon-128x128.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Lucene.Net
   &#160;<span id="projectnumber">3.0.3</span>
   </div>
   <div id="projectbrief">Lucene.Net is a .NET port of the Java Lucene Indexing Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="Index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Properties</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_1efe588324fc547683bba4a3f1bac847.html">core</a></li><li class="navelem"><a class="el" href="dir_508bd2a9867f606940156debe4946ca8.html">Index</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">DocFieldProcessor.cs</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_doc_field_processor_8cs.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* </span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * contributor license agreements.  See the NOTICE file distributed with</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * this work for additional information regarding copyright ownership.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * (the &quot;License&quot;); you may not use this file except in compliance with</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * the License.  You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * </span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * </span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * limitations under the License.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">using</span> System;</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keyword">using</span> System.Collections;</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">using</span> System.Collections.Generic;</div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">using</span> Lucene.Net.Support;</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span>Lucene.Net.Index</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    </div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    </div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor.html">   33</a></span>&#160;    sealed <span class="keyword">class </span><a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor.html" title="This is a DocConsumer that gathers all fields under the same name, and calls per-field consumers to p...">DocFieldProcessor</a> : <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_consumer.html">DocConsumer</a></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    {</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        </div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">internal</span> <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_documents_writer.html" title="This class accepts multiple added documents and directly writes a single segment file. It does this more efficiently than creating a single segment per document (with DocumentWriter) and doing standard merges on those segments.">DocumentsWriter</a> docWriter;</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">internal</span> <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_field_infos.html" title="Access to the Fieldable Info file that describes document fields and whether or not they are indexed...">FieldInfos</a> fieldInfos = <span class="keyword">new</span> <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_field_infos.html" title="Access to the Fieldable Info file that describes document fields and whether or not they are indexed...">FieldInfos</a>();</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keyword">internal</span> <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_consumer.html">DocFieldConsumer</a> consumer;</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">internal</span> <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_stored_fields_writer.html" title="This is a DocFieldConsumer that writes stored fields. ">StoredFieldsWriter</a> fieldsWriter;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        </div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor.html#a0d9e907e4c5561b706deca2af0c15a93">   41</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor.html" title="This is a DocConsumer that gathers all fields under the same name, and calls per-field consumers to p...">DocFieldProcessor</a>(<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_documents_writer.html" title="This class accepts multiple added documents and directly writes a single segment file. It does this more efficiently than creating a single segment per document (with DocumentWriter) and doing standard merges on those segments.">DocumentsWriter</a> docWriter, <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_consumer.html">DocFieldConsumer</a> consumer)</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        {</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;            this.docWriter = docWriter;</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;            this.consumer = consumer;</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;            consumer.SetFieldInfos(fieldInfos);</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;            fieldsWriter = <span class="keyword">new</span> <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_stored_fields_writer.html" title="This is a DocFieldConsumer that writes stored fields. ">StoredFieldsWriter</a>(docWriter, fieldInfos);</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        }</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        </div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor.html#adcfe5cee017c4a0a282115f39588b350">   49</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span>  CloseDocStore(<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_segment_write_state.html">SegmentWriteState</a> state)</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        {</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;            consumer.CloseDocStore(state);</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;            fieldsWriter.CloseDocStore(state);</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        }</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        </div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor.html#a8778d11da3c377abb8c1c523bead85df">   55</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> Flush(ICollection&lt;DocConsumerPerThread&gt; threads, <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_segment_write_state.html">SegmentWriteState</a> state)</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        {</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;            var childThreadsAndFields = <span class="keyword">new</span> HashMap&lt;DocFieldConsumerPerThread, ICollection&lt;DocFieldConsumerPerField&gt;&gt;();</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;            <span class="keywordflow">foreach</span>(<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_consumer_per_thread.html">DocConsumerPerThread</a> thread <span class="keywordflow">in</span> threads)</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;            {</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor_per_thread.html" title="Gathers all Fieldables for a document under the same name, updates FieldInfos, and calls per-field co...">DocFieldProcessorPerThread</a> perThread = (<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor_per_thread.html" title="Gathers all Fieldables for a document under the same name, updates FieldInfos, and calls per-field co...">DocFieldProcessorPerThread</a>)thread;</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                childThreadsAndFields[perThread.consumer] = perThread.<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor_per_thread.html#afb08386001f36d3ac815cffc1b45e53b">Fields</a>();</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                perThread.TrimFields(state);</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;            }</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;            fieldsWriter.Flush(state);</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;            consumer.Flush(childThreadsAndFields, state);</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;            </div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;            <span class="comment">// Important to save after asking consumer to flush so</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;            <span class="comment">// consumer can alter the FieldInfo* if necessary.  EG,</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;            <span class="comment">// FreqProxTermsWriter does this with</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;            <span class="comment">// FieldInfo.storePayload.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;            System.String fileName = state.SegmentFileName(<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_index_file_names.html" title="Useful constants representing filenames and extensions used by lucene">IndexFileNames</a>.<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_index_file_names.html#a7209042e5d196fb3750b1b7b6abb8072" title="Extension of field infos ">FIELD_INFOS_EXTENSION</a>);</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;            fieldInfos.Write(state.directory, fileName);</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;            state.flushedFiles.Add(fileName);</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        }</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor.html#a6c6e896dc5370863ffb6f41ea225cae3">   76</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span>  Abort()</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        {</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;            fieldsWriter.Abort();</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;            consumer.Abort();</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        }</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        </div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor.html#a3d78ed87f2ce3cabc81c1ad0bead7ebf">   82</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">bool</span> FreeRAM()</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        {</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;            <span class="keywordflow">return</span> consumer.FreeRAM();</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        }</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor.html#a4653476df12c9901038c8464fe47ef46">   87</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">override</span> <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_consumer_per_thread.html">DocConsumerPerThread</a> AddThread(<a class="code" href="class_lucene_1_1_net_1_1_index_1_1_documents_writer_thread_state.html" title="Used by DocumentsWriter to maintain per-thread state. We keep a separate Posting hash and other state...">DocumentsWriterThreadState</a> threadState)</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        {</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_lucene_1_1_net_1_1_index_1_1_doc_field_processor_per_thread.html" title="Gathers all Fieldables for a document under the same name, updates FieldInfos, and calls per-field co...">DocFieldProcessorPerThread</a>(threadState, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        }</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    }</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 3 2013 02:12:44 for Lucene.Net by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3
</small></address>
</body>
</html>
