Lucene - поиск ничего не возвращает - PullRequest
0 голосов
/ 08 ноября 2011

Я использую 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...