You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Adriano Crestani (JIRA)" <ji...@apache.org> on 2009/10/01 19:16:23 UTC

[jira] Created: (LUCENE-1937) Add more methods to manipulate QueryNodeProcessorPipeline elements

Add more methods to manipulate QueryNodeProcessorPipeline elements
------------------------------------------------------------------

                 Key: LUCENE-1937
                 URL: https://issues.apache.org/jira/browse/LUCENE-1937
             Project: Lucene - Java
          Issue Type: Improvement
          Components: contrib/*
    Affects Versions: 3.1
            Reporter: Adriano Crestani
            Assignee: Adriano Crestani
            Priority: Minor
             Fix For: 2.9


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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


[jira] Assigned: (LUCENE-1937) Add more methods to manipulate QueryNodeProcessorPipeline elements

Posted by "Adriano Crestani (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-1937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adriano Crestani reassigned LUCENE-1937:
----------------------------------------

    Assignee:     (was: Adriano Crestani)

> Add more methods to manipulate QueryNodeProcessorPipeline elements
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1937
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1937
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: contrib/*
>    Affects Versions: 2.9
>            Reporter: Adriano Crestani
>            Priority: Minor
>             Fix For: 3.1
>
>         Attachments: LUCENE-1937.patch, LUCENE-1937_10_13_2009.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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


[jira] Updated: (LUCENE-1937) Add more methods to manipulate QueryNodeProcessorPipeline elements

Posted by "Uwe Schindler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-1937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Uwe Schindler updated LUCENE-1937:
----------------------------------

    Affects Version/s:     (was: 3.1)
                       2.9
        Fix Version/s:     (was: 2.9)
                       3.1

> Add more methods to manipulate QueryNodeProcessorPipeline elements
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1937
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1937
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: contrib/*
>    Affects Versions: 2.9
>            Reporter: Adriano Crestani
>            Assignee: Adriano Crestani
>            Priority: Minor
>             Fix For: 3.1
>
>         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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


[jira] Commented: (LUCENE-1937) Add more methods to manipulate QueryNodeProcessorPipeline elements

Posted by "Adriano Crestani (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-1937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763334#action_12763334 ] 

Adriano Crestani commented on LUCENE-1937:
------------------------------------------

Hi Luis,

{quote}
Wouldn't it be better for the pipeline to implement the "List" interface.
What do you think?
{quote}

Yes, it's one of the valid approaches, I just didn't want to tie it initially to an interface. I will code that later and provide a new patch.

> Add more methods to manipulate QueryNodeProcessorPipeline elements
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1937
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1937
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: contrib/*
>    Affects Versions: 2.9
>            Reporter: Adriano Crestani
>            Assignee: Adriano Crestani
>            Priority: Minor
>             Fix For: 3.1
>
>         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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


[jira] Updated: (LUCENE-1937) Add more methods to manipulate QueryNodeProcessorPipeline elements

Posted by "Adriano Crestani (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-1937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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: https://issues.apache.org/jira/browse/LUCENE-1937
>             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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


[jira] Updated: (LUCENE-1937) Add more methods to manipulate QueryNodeProcessorPipeline elements

Posted by "Adriano Crestani (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-1937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adriano Crestani updated LUCENE-1937:
-------------------------------------

    Attachment: LUCENE-1937_10_13_2009.patch

New patch, now QueryNodeProcessorPipeline implements List interface

> Add more methods to manipulate QueryNodeProcessorPipeline elements
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1937
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1937
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: contrib/*
>    Affects Versions: 2.9
>            Reporter: Adriano Crestani
>            Assignee: Adriano Crestani
>            Priority: Minor
>             Fix For: 3.1
>
>         Attachments: LUCENE-1937.patch, LUCENE-1937_10_13_2009.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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


[jira] Commented: (LUCENE-1937) Add more methods to manipulate QueryNodeProcessorPipeline elements

Posted by "Luis Alves (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-1937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763176#action_12763176 ] 

Luis Alves commented on LUCENE-1937:
------------------------------------

Hi Adriano,

Wouldn't it be better for the pipeline to implement the "List" interface.
What do you think?

> Add more methods to manipulate QueryNodeProcessorPipeline elements
> ------------------------------------------------------------------
>
>                 Key: LUCENE-1937
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1937
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: contrib/*
>    Affects Versions: 2.9
>            Reporter: Adriano Crestani
>            Assignee: Adriano Crestani
>            Priority: Minor
>             Fix For: 3.1
>
>         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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org