读书人

Lucene.Net 查询的有关问题第一次弄

发布时间: 2012-03-31 13:13:26 作者: rapoo

Lucene.Net 查询的问题,第一次弄大家多帮忙^多谢
测试数据
title

测试标题
51aspx
51aspx测试标题
abc

1。建立索引    
     IndexWriter writer = null;

writer = new IndexWriter(INDEX_STORE_PATH, new StandardAnalyzer(), true);

SqlDataReader myred = ExecuteQuery("select title,content from article");

//建立索引字段
while (myred.Read())
{
Document doc = new Document();

doc.Add(new Field("title", myred["title"].ToString(), Field.Store.YES,Field.Index.TOKENIZED));

writer.AddDocument(doc);
}
myred.Close();
myred.Dispose();

writer.Optimize();
writer.Close();

2。查询
    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);

myhit = mysea.Search(query);
Response.Write("关于:" + keyword + " 搜索到" + myhit.Length() + "个结果<br>");

问题.
是现在我输入"5"不能查出现在的两条数据,但输入"51aspx"就能查出来,输入"abc"也查不到数据
那位高手帮我看一下多谢了

[解决办法]
StandardAnalyzer分词的问题
[解决办法]
你查询aspx也不会有结果

读书人网 >C#

热点推荐