lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adriano Crestani (JIRA)" <>
Subject [jira] Updated: (LUCENE-1937) Add more methods to manipulate QueryNodeProcessorPipeline elements
Date Thu, 01 Oct 2009 17:55:23 GMT


Adriano Crestani updated LUCENE-1937:

    Attachment: LUCENE-1937.patch

The patch adds five methods:

QueryNodeProcessor getProcessorAt(int index)
removeProcessorAt(int index)
addProcessor(int index, QueryNodeProcessor processor)
setProcessor(int index, QueryNodeProcessor processor)
int getSize()

I realized while coding that manipulation methods based on processor instead of index position
can be tricky, because the pipeline could have the same instances in multiple positions, so
they are based on index position.

> Add more methods to manipulate QueryNodeProcessorPipeline elements
> ------------------------------------------------------------------
>                 Key: LUCENE-1937
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: contrib/*
>    Affects Versions: 3.1
>            Reporter: Adriano Crestani
>            Assignee: Adriano Crestani
>            Priority: Minor
>             Fix For: 2.9
>         Attachments: LUCENE-1937.patch
> QueryNodeProcessorPipeline allows the user to define a list of processors to process
a query tree. However, it's not very flexible when the user wants to extend/modify an already
created pipeline, because it only provides an add method, which only allows the user to append
a new processor to the pipeline.
> So, I propose to add new methods to manipulate the processor in a pipeline. I think the
methods should not consider an index position when modifying the pipeline, hence the index
position in a pipeline does not mean anything, a processor has a meaning when it's after or
before another processor. Therefore, I suggest the methods should always consider another
processor when inserting/modifying the pipeline. For example, insertAfter(processor, newProcessor),
which will insert the "newProcessor" after the "processor".

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message