2
我创建了一个索引.NET的Lucene搜索万事
Document doc = new Document();
doc.Add(new Field("SearchKey", (item.FullTextColumn ?? item.Code), Field.Store.NO, Field.Index.TOKENIZED));
doc.Add(new Field("Type", item.Type.ToString(), Field.Store.YES, Field.Index.TOKENIZED));
doc.Add(new Field("Name", item.Name, Field.Store.YES, Field.Index.UN_TOKENIZED));
doc.Add(new Field("Code", item.Code ?? string.Empty, Field.Store.YES, Field.Index.UN_TOKENIZED));
等
,我试图寻找像“堪萨斯城”中的“SearchKey”领域的一个术语,另外申请“类型”必须是“机场”
为我写
QueryParser parser = new QueryParser("SearchKey", analyzer);
Query searchQuery = parser.Parse(text);
TermQuery typeQuery = new TermQuery(new Term("Type", "Airport"));
BooleanQuery filterQuery = new BooleanQuery();
filterQuery.Add(typeQuery, BooleanClause.Occur.MUST);
Filter f = new QueryFilter(filterQuery);
Hits results = searcher.Search(searchQuery,f);
,但它给了我没有结果,
,如果我从
Hits results = searcher.Search(searchQuery,f);
删除“F”,那么它给出的结果,但“类型”字段包含其他的则值“机场”。
我要去的地方错了什么想法?