You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Chetan Mehrotra <ch...@gmail.com> on 2015/09/02 12:34:59 UTC

Re: svn commit: r1700720 - in /jackrabbit/oak/trunk/oak-lucene/src: main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java test/java/org/apache/jackrabbit/oak/jcr/query/SpellcheckTest.java

Hi Tommaso,

On Wed, Sep 2, 2015 at 1:28 PM,  <to...@apache.org> wrote:
> +            Analyzer definitionAnalyzer = definition.getAnalyzer();
> +            Map<String, Analyzer> analyzers = new HashMap<String, Analyzer>();
> +            analyzers.put(FieldNames.SPELLCHECK, new ShingleAnalyzerWrapper(LuceneIndexConstants.ANALYZER, 3));
> +            Analyzer analyzer = new PerFieldAnalyzerWrapper(definitionAnalyzer, analyzers);
> +            IndexWriterConfig config = new IndexWriterConfig(VERSION, analyzer);

Have a look at IndexDefinition#createAnalyzer which already creates a
PerFieldAnalyzerWrapper. So would be better to move this logic there.
Or you want to customize the analyzer for that field only during
indexing.

Chetan Mehrotra

Re: svn commit: r1700720 - in /jackrabbit/oak/trunk/oak-lucene/src: main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java test/java/org/apache/jackrabbit/oak/jcr/query/SpellcheckTest.java

Posted by Tommaso Teofili <to...@gmail.com>.
Hi Chetan,

sorry for the late reply, the ShingleFilter is intended to be used only at
indexing time, that's why I changed only the code there.
The PerFieldAnalyzerWrapper will continue using the configured or default
analyzers for other fields.

Regards,
Tommaso

2015-09-02 12:34 GMT+02:00 Chetan Mehrotra <ch...@gmail.com>:

> Hi Tommaso,
>
> On Wed, Sep 2, 2015 at 1:28 PM,  <to...@apache.org> wrote:
> > +            Analyzer definitionAnalyzer = definition.getAnalyzer();
> > +            Map<String, Analyzer> analyzers = new HashMap<String,
> Analyzer>();
> > +            analyzers.put(FieldNames.SPELLCHECK, new
> ShingleAnalyzerWrapper(LuceneIndexConstants.ANALYZER, 3));
> > +            Analyzer analyzer = new
> PerFieldAnalyzerWrapper(definitionAnalyzer, analyzers);
> > +            IndexWriterConfig config = new IndexWriterConfig(VERSION,
> analyzer);
>
> Have a look at IndexDefinition#createAnalyzer which already creates a
> PerFieldAnalyzerWrapper. So would be better to move this logic there.
> Or you want to customize the analyzer for that field only during
> indexing.
>
> Chetan Mehrotra
>