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

时间:2011-11-08 01:47:11

标签: java lucene

我正在使用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吗?

0 个答案:

没有答案