Различные анализаторы для каждого поля

Как я могу включить различные анализаторы для каждого поля в документе, который я индексирую с Lucene? Пример:

        RAMDirectory dir = new RAMDirectory();
        IndexWriter iw = new IndexWriter(dir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_CURRENT), true, IndexWriter.MaxFieldLength.UNLIMITED);
        Document doc = new Document();
        Field field1 = new Field("field1", someText1, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS);
        Field field2 = new Field("field2", someText2, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS);
        doc.Add(field1);
        doc.Add(field2);
        iw.AddDocument(doc);
        iw.Commit();

Анализатор является аргументом IndexWriter, но я хочу использовать StandardAnalyzer для field1 и SimpleAnalyzer для field2, как я могу сделать это? То же применяется при поиске, конечно. Корректный анализатор должен быть применен для каждого поля.

22
задан Rabbit 16 May 2010 в 09:00
поделиться