lucene.net结果排序的问题,谢谢
请看图片,用盘古分词 + lucene.net做的,怎么会出现这样的情况呢?
我搜索“琚老师英语培训学校",它居然排在第四位,为什么不是第一位呢?
我个人认为搜索它的同名标题的时候,这个document应该是拍在首位的吧。
下面代码是我创建索引时的代码:
LuceneWrite writer = new LuceneWrite(INDEX_DIR, true);
List<Document> documentList = new List<Document>();
Document document; Field field ;
foreach (var item in corpList)
{
document = new Document();
//"ID"
field = new Field("ID", item.ID.ToString(), Field.Store.YES, Field.Index.TOKENIZED);
document.Add(field);
// "CorpName"
field = new Field("CorpName", item.CorpName, Field.Store.YES, Field.Index.TOKENIZED);
document.Add(field);
//"CorpIntro"
field = new Field("CorpIntro", item.CorpIntro, Field.Store.YES, Field.Index.TOKENIZED);
document.Add(field);
// "Phone"
field = new Field("Phone", "{0}:{1},{2}".StringFormat(item.Linkman, item.LinkmanMobilePhone, item.FixPhone), Field.Store.YES, Field.Index.NO);
document.Add(field);//在这个函数里已经进行优化了
documentList.Add(document);
}
writer.AddDocument(documentList);
writer.Close();
[解决办法]
你三个字段的boost值都是一样的,并没有体现出CorpName这个字段的优先性吧