Java 中 Lucene 7.2.1 版本 为什么使用 QueryParser 无法查询到数据,求大佬帮助小白 T _ T

2018-02-12 21:47:02 +08:00
 HiShan

问代码:


    RAMDirectory dir = new RAMDirectory();

    public static IndexReader indexReader;

    public void createIndex() {
        try {
            Analyzer analyzer = new StandardAnalyzer(); //分词器(有简体中文分词器)
            IndexWriter indexWriter = new IndexWriter(dir, new IndexWriterConfig(analyzer));
            Document doc = new Document();
            Document doc1 = new Document();
            Document doc2 = new Document();
            Document doc3 = new Document();
            FieldType fieldType = new FieldType();
            fieldType.setStored(true);
            doc.add(new Field("bookName", "lucene1", fieldType));
            doc1.add(new Field("bookName", "lucene2", fieldType));
            doc2.add(new Field("bookName", "lucene3", fieldType));
            doc3.add(new Field("bookName", "lucene4", fieldType));
            indexWriter.addDocument(doc);
            indexWriter.addDocument(doc1);
            indexWriter.addDocument(doc2);
            indexWriter.addDocument(doc3);
            indexWriter.close();

            IndexReader reader = DirectoryReader.open(dir);
            for (int i = 0; i < reader.numDocs(); i++) {
                System.out.println(reader.document(i).toString());
            }

            IndexSearcher searcher = new IndexSearcher(reader);

            QueryParser parser = new QueryParser("bookName", analyzer);
            Query query = parser.parse("lucene");
            TopDocs docs = searcher.search(query, 100);
            System.out.println("hit : " + docs.totalHits);
        } catch (IOException | ParseException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        CreateRAMIndex s = new CreateRAMIndex();
        s.createIndex();

    }
} ```

但是为什么我使用其他的 Query 就可以比如 FuzzyQuery 就可以。网上资料都查看的差不多了,没什么作用,大部分都是好老的版本了。。Demo 也看了。都一样的啊 为什么我这个就查询不到一点东西呢?
1636 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/430492

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX