我正在创建一个这样的 Lucene 文档:
Document document = new Document();
document.add(new Field(FIELD_FOLDER_PATH,mSearchInput, Field.Store.YES, Field.Index.NOT_ANALYZED ));
Reader reader = new FileReader(file);
document.add(new Field(FIELD_CONTENTS, reader));
indexWriter.addDocument(document);
在对 CONTENTS 执行查询并使用通配符 * 时,我能够获取结果:
QueryParser queryParser = new QueryParser (Version.LUCENE_36,FIELD_CONTENTS, analyzer);
Query query = queryParser.parse(searchString+"*");
但是当我对 FIELD_FOLDER_PATH 使用相同的查询时,我没有得到任何结果:
QueryParser queryParser = new QueryParser (Version.LUCENE_36,FIELD_FOLDER_PATH, analyzer);
Query query = queryParser.parse(FolderPath+"*");
但是,只有当我提供确切的字符串时,我才能获取结果。
我的问题是:为什么我不能使用 (*) 来获取 FIELD_FOLDER_PATH 中的结果?是因为我创建领域的方式吗?