我正在寻找通过 lucene.net 搜索索引数据的代码。我从这个网址得到了一个代码 http://www.eggheadcafe.com/tutorials/csharp/c69ef65f-e3c6-409e-ab97-168897c74f83/lucenenet-indexing-searching-entry-level-tutorial.aspx
这是小示例代码。
List<SearchResult> list = new List<SearchResult>();
SearchResult sr = null;
for (int i = 0; i < results; i++)
{
sr = new SearchResult();
Document doc = hits.Doc(i);
float score = hits.Score(i);
sr.Id = int.Parse(doc.Get("id"));
sr.Score = score;
sr.Description = doc.Get("Description");
sr.Title = doc.Get("Title");
sr.Link = doc.Get("Link");
list.Add(sr);
}
//sort by score
list = list.OrderByDescending(x => x.Score).ToList();
我不清楚一件事是什么是hit.score? 为什么结果集按hit.score降序排列?
我通过上面的代码搜索索引并且代码正在运行。我输入“audi jcb”进行搜索,我看到 audi 有六个搜索数据,jcb 有一个数据,但 jcb 数据排在最前面....我只是不明白为什么。我想在顶部显示那些将具有最大搜索结果的数据。因为那是改变代码有点像
list = list.OrderBy(x => x.Score).ToList();
我通过升序搜索,但仍然没有以我想要的方式获得结果....audi 数据没有排在首位。所以请指导我在我的代码中包含哪些内容,因为结果这些数据将在搜索结果集中出现最多。请指导我谢谢。