c#-4.0 - 如何在 Lucene.Net 3 中提升字段

标签 c#-4.0 asp.net-mvc-4 lucene.net

我想在 Lucene.Net 3.0.3 中提升一个字段。然而,在 Lucene 中似乎不再定义 SetBoost 方法。我如何提升一个字段,例如,我希望文档的“标题”比其余字段具有更大的权重?

最佳答案

您可以在索引时间或搜索时间提升字段。
要在索引时间内提升字段,您可以设置:

 Field titleField = new Field("title", strTitle, Field.Store.NO, Field.Index.ANALYZED);
 titleField.Boost = 2;

 doc.Add(titleField);

请记住,必须将 OmitNorms 设置为 false。

要在搜索时间内提升字段,您可以设置:
  TermQuery q = new TermQuery(new Term("title", "cat"));
  q.Boost = 2;

  _searcher.Search(q, 100);

关于c#-4.0 - 如何在 Lucene.Net 3 中提升字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16005576/

相关文章:

c# - ASP.NET MVC 中的数据库上下文和返回动态结果集

javascript - 原始 MVC 和 Angular 避免注入(inject)我不需要的东西

c# - 分页 Lucene.Net 搜索结果 asp.net

sitecore - Sitecore 中的 Lucene 索引已损坏 (ArgumentOutOfRangeException)

dynamic - C#中的方法参数可以是动态的吗

c#-4.0 - Log4Net 与温莎城堡

wpf - Schedular.Dispatcher 在哪里?

c# - 使用 PLINQ 计算和更新机箱内的值不起作用

asp.net-mvc - 如何在 mvc4 razor 的文本框中仅允许数字

c# - 在 Azure 辅助角色中使用 Lucene.NET 引发未处理的异常