本文整理汇总了C#中Lucene.Net.Index.IndexWriter.GetMaxBufferedDocs方法的典型用法代码示例。如果您正苦于以下问题:C# Lucene.Net.Index.IndexWriter.GetMaxBufferedDocs方法的具体用法?C# Lucene.Net.Index.IndexWriter.GetMaxBufferedDocs怎么用?C# Lucene.Net.Index.IndexWriter.GetMaxBufferedDocs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lucene.Net.Index.IndexWriter
的用法示例。
在下文中一共展示了Lucene.Net.Index.IndexWriter.GetMaxBufferedDocs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Index
/// <summary> Forms a Lucene index based on the 2 maps.
///
/// </summary>
/// <param name="indexDir">the direcotry where the index should be created
/// </param>
/// <param name="">word2Nums
/// </param>
/// <param name="">num2Words
/// </param>
private static void Index(System.String indexDir, System.Collections.IDictionary word2Nums, System.Collections.IDictionary num2Words)
{
int row = 0;
int mod = 1;
// override the specific index if it already exists
IndexWriter writer = new IndexWriter(indexDir, ana, true);
writer.SetUseCompoundFile(true); // why?
// blindly up these parameters for speed
writer.SetMergeFactor(writer.GetMergeFactor() * 2);
writer.SetMaxBufferedDocs(writer.GetMaxBufferedDocs() * 2);
System.Collections.IEnumerator i1 = word2Nums.Keys.GetEnumerator();
while (i1.MoveNext())
// for each word
{
System.String g = (System.String) i1.Current;
Document doc = new Document();
int n = Index(word2Nums, num2Words, g, doc);
if (n > 0)
{
doc.Add(new Field(F_WORD, g, Field.Store.YES, Field.Index.UN_TOKENIZED));
if ((++row % mod) == 0)
{
o.WriteLine("\trow=" + row + "/" + word2Nums.Count + " doc= " + doc);
mod *= 2;
}
writer.AddDocument(doc);
} // else degenerate
}
o.WriteLine("Optimizing..");
writer.Optimize();
writer.Close();
}