本文整理汇总了C#中Lucene.Net.Search.IndexSearcher.SearchById方法的典型用法代码示例。如果您正苦于以下问题:C# IndexSearcher.SearchById方法的具体用法?C# IndexSearcher.SearchById怎么用?C# IndexSearcher.SearchById使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lucene.Net.Search.IndexSearcher
的用法示例。
在下文中一共展示了IndexSearcher.SearchById方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DeleteMessage
/// <summary>
/// Removes the message field from the document
/// </summary>
public void DeleteMessage(int topicId, int messageId)
{
if (!Config.Enabled)
{
return;
}
var writer = GetWriter();
Document doc = null;
using (var searcher = new IndexSearcher(writer.GetReader()))
{
doc = searcher.SearchById(topicId);
}
if (doc == null)
{
return;
}
doc.RemoveMessage(messageId);
writer.Update(topicId, doc, Analyzer, Config);
writer.Commit();
}
示例2: Update
/// <summary>
/// Updates the document fields
/// </summary>
public void Update(Topic topic)
{
if (!Config.Enabled)
{
return;
}
var writer = GetWriter();
Document doc = null;
using (var searcher = new IndexSearcher(writer.GetReader()))
{
doc = searcher.SearchById(topic.Id);
}
if (doc == null)
{
return;
}
doc.GetDescriptionField().SetValue(topic.Description);
doc.GetTitleField().SetValue(topic.Title);
doc.GetTagsField().SetValue(topic.Tags.ToString());
writer.Update(topic.Id, doc, Analyzer, Config);
writer.Commit();
}
示例3: Add
/// <summary>
/// Adds the message as document (topic) field
/// </summary>
/// <param name="topic"></param>
public void Add(Message message)
{
if (!Config.Enabled)
{
return;
}
if (message.Id > Config.MaxMessages)
{
return;
}
var writer = GetWriter();
Document doc = null;
using (var searcher = new IndexSearcher(writer.GetReader()))
{
doc = searcher.SearchById(message.Topic.Id);
}
if (doc == null)
{
return;
}
var dateField = doc.GetDateField();
dateField.SetValue(DateTools.DateToString(message.Date, DateTools.Resolution.MINUTE));
doc.Add(message.ToField());
writer.Update(message.Topic.Id, doc, Analyzer, Config);
writer.Commit();
}