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」,那麼它給出的結果,但「類型」字段包含其他的則值「機場」。
我要去的地方錯了什麼想法?