Lucene.net搜索结果排序(单条件和多条件)
2009-06-08 16:16
549 查看
Lucene支持对搜索条件的排序,一个条件或者多个条件,以及是升序还是降序,部分代码如下:
string
INDEX_STORE_PATH
=
Server.MapPath(
"
index
"
);
//
INDEX_STORE_PATH 为索引存储目录
string
keyword
=
TextBox2.Text;
//
搜索内容
Hits myhit
=
null
;
IndexSearcher mysea
=
new
IndexSearcher(INDEX_STORE_PATH);
QueryParser q
=
new
QueryParser(
"
indexcontent
"
,
new
StandardAnalyzer());
Query query
=
q.Parse(keyword);
Sort sort
=
new
Sort();
SortField f
=
new
SortField(
"
createdate
"
, SortField.STRING,
true
);
//
按照createdate字段排序,true表示降序
sort.SetSort(f);
//
多个条件排序
//
Sort sort = new Sort();
//
SortField f1 = new SortField("createdate", SortField.DOC, true);
//
SortField f2 = new SortField("bookname", SortFiedl.INT, false);
//
sort.setSort(new SortField[] { f1, f2 });
myhit
=
mysea.Search(query, sort);
Response.Write(
"
关于:
"
+
keyword
+
"
搜索到
"
+
myhit.Length()
+
"
个结果<br>
"
);
对于数据量大(索引文件大于50M)的索引,尽量不要用索引中的字段排序,要用索引ID排序(INDEXORDER);两者效率相差近10倍。
string
INDEX_STORE_PATH
=
Server.MapPath(
"
index
"
);
//
INDEX_STORE_PATH 为索引存储目录
string
keyword
=
TextBox2.Text;
//
搜索内容
Hits myhit
=
null
;
IndexSearcher mysea
=
new
IndexSearcher(INDEX_STORE_PATH);
QueryParser q
=
new
QueryParser(
"
indexcontent
"
,
new
StandardAnalyzer());
Query query
=
q.Parse(keyword);
Sort sort
=
new
Sort();
SortField f
=
new
SortField(
"
createdate
"
, SortField.STRING,
true
);
//
按照createdate字段排序,true表示降序
sort.SetSort(f);
//
多个条件排序
//
Sort sort = new Sort();
//
SortField f1 = new SortField("createdate", SortField.DOC, true);
//
SortField f2 = new SortField("bookname", SortFiedl.INT, false);
//
sort.setSort(new SortField[] { f1, f2 });
myhit
=
mysea.Search(query, sort);
Response.Write(
"
关于:
"
+
keyword
+
"
搜索到
"
+
myhit.Length()
+
"
个结果<br>
"
);
对于数据量大(索引文件大于50M)的索引,尽量不要用索引中的字段排序,要用索引ID排序(INDEXORDER);两者效率相差近10倍。
相关文章推荐
- Lucene.net搜索结果排序(单条件和多条件)
- (转)Lucene.net搜索结果排序(单条件和多条件)
- Lucene.net搜索结果排序(单条件和多条件)
- Lucene.net搜索结果排序(单条件和多条件)
- Lucene.net搜索结果排序(单条件和多条件)
- Lucene.NET的多关键排序和条件搜索(高级搜索篇)
- Lucene.Net2.0搜索结果排序问题
- 利用Lucene.net搜索引擎进行多条件搜索的做法
- lucene3.0 搜索结果排序+高亮展示
- 盘古分词在 Lucene.net 2.9 版本下搜索没有结果的原因分析及盘古分词2.0版本要开发的新功能
- Lucene.Net实现搜索结果分类统计功能(中小型网站)
- Lucene搜索结果排序问题(按时间倒序排的替代解决方法)
- Hack in Lucene.Net之为什么无法在搜索时统计分类下相关结果数或者实现Group By效果
- lucene-对搜索结果进行排序
- Lucene.Net如何实现搜索结果分类统计功能
- 利用Lucene.net搜索引擎进行多条件搜索的做法
- Lucene.NET多字段 多条件搜索
- 利用Lucene.net搜索引擎进行多条件搜索的做法
- 利用Lucene.net搜索引擎进行多条件搜索的做法
- 利用Lucene.net搜索引擎进行多条件搜索的做法 (转)