c# – Lucene – 搜索数值字段
发布时间:2020-12-15 18:19:29 所属栏目:百科 来源:网络整理
导读:好的,我在过去的两个小时里搜索过这个,结果只给出了提示, 甚至没有一个完整的代码来救援(如果他们看不到一些样品,小便会怎么学?) 我创建了一个像这样的索引: Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(Server.MapPath("/data/c
好的,我在过去的两个小时里搜索过这个,结果只给出了提示,
甚至没有一个完整的代码来救援(如果他们看不到一些样品,小便会怎么学?) 我创建了一个像这样的索引: Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(Server.MapPath("/data/channels/"))); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_29); IndexWriter writer = new IndexWriter(directory,analyzer,true,Lucene.Net.Index.IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.Add(new Field("ID","0",Field.Store.YES,Field.Index.NO)); doc.Add(new Field("parentID",Field.Index.NO)); doc.Add(new Field("Title","Root",Field.Index.ANALYZED)); writer.AddDocument(doc); writer.Optimize(); writer.Close(); 现在,我想搜索字段ID,其中值等于0(以获得我在那里的单个记录)…. 但是,像这样的简单搜索: Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(Server.MapPath("/data/channels"))); Analyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(Version.LUCENE_29); Searcher searcher = new Lucene.Net.Search.IndexSearcher(IndexReader.Open(directory,true)); Query query = new Lucene.Net.QueryParsers.QueryParser(Version.LUCENE_29,"ID",analyzer).Parse("0"); Hits hits = searcher.Search(query); 没有结果. 请亲切的人,给我一个如何使这件事工作的例子. 解决方法
在Field字段中将Field.Index.NO更改为Field.Index.ANALYZED(或Field.Index.NOT_ANALYZED)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |