Java Lucene-搜索不会返回任何内容

Java Lucene-搜索不会返回任何内容,java,lucene,Java,Lucene,我正在使用Lucene进行搜索。这是密码- RAMDirectory index = new RAMDirectory(); StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_34); IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_34, analyzer);

我正在使用Lucene进行搜索。这是密码-

        RAMDirectory  index = new RAMDirectory();            
        StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_34);
        IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_34, analyzer);

        IndexWriter w = new IndexWriter(index, config);

        while(contentResutlset.next()){

            System.out.println("Indexing Content no.(ID) " + contentResutlset.getString(1));

            Document doc = new Document();
            doc.add(new Field("uniquename",contentResutlset.getString(1),Store.YES,Index.ANALYZED));
            doc.add(new Field("type",contentResutlset.getString(2),Store.YES,Index.ANALYZED));
            doc.add(new Field("key",contentResutlset.getString(3),Store.YES,Index.ANALYZED));
            doc.add(new Field("value",contentResutlset.getString(4),Store.YES,Index.ANALYZED));

            w.addDocument(doc);                
        }
        w.close();
        contentResutlset.close();
        statement.close();
        connection.close();


        Query q =  new QueryParser(Version.LUCENE_34, "value", analyzer).parse("wordtosearch");
        int hitsPerPage = 10;
        IndexSearcher searcher = new IndexSearcher(index, true);
        ScoreDoc[] topdocs = searcher.search(q, 1000).scoreDocs;
topdocs.length为0

上面怎么了

我如何更改上面的内容,以将索引存储在数据库中而不是RAMDirectory中?
我应该使用JDBCDirectory吗?

你能用真实字符串而不是ContentResultSet.getString或wordtosearch更新你的问题吗?你可以在磁盘上创建索引,用Luke打开并测试你的查询。ContentResultSet基本上是数据库中的字符串。所以我从数据库中获取一些结果集并创建文档。所以contentresultset类似于-uniquename1-type1-key1-value1uniquename2-type2-key2-wordtosearch,所以如果我搜索like-value:wordtosearch,我应该得到第二行。