FAQ
[ https://issues.apache.org/jira/browse/LUCENE-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12736171#action_12736171 ]

Michael McCandless commented on LUCENE-1504:
--------------------------------------------

Patrick are you going to have time soon to iterate w/ Uwe on this? (He has alot of feedback on the last patch).

Also, it looks like SerialChainFilter is roughly a copy of ChainFilter but with "some improvement to allow a narrowed down filtering" (from the javadocs). Would it be possible to somehow fold that improvement into the original ChainFilter instead?
SerialChainFilter should use DocSet API rather then deprecated BitSet API
-------------------------------------------------------------------------

Key: LUCENE-1504
URL: https://issues.apache.org/jira/browse/LUCENE-1504
Project: Lucene - Java
Issue Type: Improvement
Components: contrib/spatial
Reporter: Ryan McKinley
Assignee: Uwe Schindler
Fix For: 2.9

Attachments: LUCENE-1504.patch, LUCENE-1504.patch


From erik's comments in LUCENE-1387
* Maybe the Filter's should be using the DocIdSet API rather than the BitSet deprecated stuff? We can refactor that after being committed I supposed, but not something we want to leave like that.
We should also look at moving SerialChainFilter out of the spatial contrib since it is more generally useful then just spatial search.
--
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

Search Discussions

  • Michael McCandless (JIRA) at Jul 31, 2009 at 10:51 am
    [ https://issues.apache.org/jira/browse/LUCENE-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737486#action_12737486 ]

    Michael McCandless commented on LUCENE-1504:
    --------------------------------------------

    I've emailed Patrick privately and it looks like he's pretty swamped, so I'll take a stab at cutting over to DocIdSet, here.

    Actually I think we can use FilteredDocIdSet to do the "serial" chaining (I think it has the same motivation as "SERIALAND": to efficiently AND two filters together such that the 2nd filter only "does work" if the first filter accepted the doc). FilteredDocIdSet doesn't handle the SERIALOR case, but, nothing uses SERIALOR now (I think?) so I think that's OK. I'll change LatLong/GeoHashDistanceFilter to extend FilteredDocIdSet.
    SerialChainFilter should use DocSet API rather then deprecated BitSet API
    -------------------------------------------------------------------------

    Key: LUCENE-1504
    URL: https://issues.apache.org/jira/browse/LUCENE-1504
    Project: Lucene - Java
    Issue Type: Improvement
    Components: contrib/spatial
    Reporter: Ryan McKinley
    Assignee: Uwe Schindler
    Fix For: 2.9

    Attachments: LUCENE-1504.patch, LUCENE-1504.patch


    From erik's comments in LUCENE-1387
    * Maybe the Filter's should be using the DocIdSet API rather than the BitSet deprecated stuff? We can refactor that after being committed I supposed, but not something we want to leave like that.
    We should also look at moving SerialChainFilter out of the spatial contrib since it is more generally useful then just spatial search.
    --
    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
  • Uwe Schindler (JIRA) at Jul 31, 2009 at 11:22 am
    [ https://issues.apache.org/jira/browse/LUCENE-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737498#action_12737498 ]

    Uwe Schindler commented on LUCENE-1504:
    ---------------------------------------

    So you mean we should simply kick this new class and use whats already in Lucene? I would like this.

    I think the idea behind Ryans patch was, to create a Filter using a BitSet and do the chaining directly on *one* instance of the BitSet. In my opinion, this is not, what the new DocIdSet should do. The Filter chaining should be done in the iterator.
    SerialChainFilter should use DocSet API rather then deprecated BitSet API
    -------------------------------------------------------------------------

    Key: LUCENE-1504
    URL: https://issues.apache.org/jira/browse/LUCENE-1504
    Project: Lucene - Java
    Issue Type: Improvement
    Components: contrib/spatial
    Reporter: Ryan McKinley
    Assignee: Uwe Schindler
    Fix For: 2.9

    Attachments: LUCENE-1504.patch, LUCENE-1504.patch


    From erik's comments in LUCENE-1387
    * Maybe the Filter's should be using the DocIdSet API rather than the BitSet deprecated stuff? We can refactor that after being committed I supposed, but not something we want to leave like that.
    We should also look at moving SerialChainFilter out of the spatial contrib since it is more generally useful then just spatial search.
    --
    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
  • Uwe Schindler (JIRA) at Jul 31, 2009 at 11:28 am
    [ https://issues.apache.org/jira/browse/LUCENE-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737498#action_12737498 ]

    Uwe Schindler edited comment on LUCENE-1504 at 7/31/09 4:27 AM:
    ----------------------------------------------------------------

    So you mean we should simply kick this new class and use whats already in Lucene? I would like this.

    I think the idea behind Ryans patch was, to create a Filter using a BitSet and do the chaining directly on *one* instance of the BitSet. In my opinion, this is not, what the new DocIdSet should do. The Filter chaining should be done in the iterator.

    Another approach would be to use the BooleanFilter from contrib/search! It has all the functionality provided by Ryans class. We would only need to have build dependency between contrib/spatial and contrib/queries.

    was (Author: thetaphi):
    So you mean we should simply kick this new class and use whats already in Lucene? I would like this.

    I think the idea behind Ryans patch was, to create a Filter using a BitSet and do the chaining directly on *one* instance of the BitSet. In my opinion, this is not, what the new DocIdSet should do. The Filter chaining should be done in the iterator.
    SerialChainFilter should use DocSet API rather then deprecated BitSet API
    -------------------------------------------------------------------------

    Key: LUCENE-1504
    URL: https://issues.apache.org/jira/browse/LUCENE-1504
    Project: Lucene - Java
    Issue Type: Improvement
    Components: contrib/spatial
    Reporter: Ryan McKinley
    Assignee: Uwe Schindler
    Fix For: 2.9

    Attachments: LUCENE-1504.patch, LUCENE-1504.patch


    From erik's comments in LUCENE-1387
    * Maybe the Filter's should be using the DocIdSet API rather than the BitSet deprecated stuff? We can refactor that after being committed I supposed, but not something we want to leave like that.
    We should also look at moving SerialChainFilter out of the spatial contrib since it is more generally useful then just spatial search.
    --
    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
  • Ryan McKinley (JIRA) at Jul 31, 2009 at 3:04 pm
    [ https://issues.apache.org/jira/browse/LUCENE-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737548#action_12737548 ]

    Ryan McKinley commented on LUCENE-1504:
    ---------------------------------------

    Don't try to read much into anything I did here (the patch here is from patrick)... my understanding of the reason for BitSet vs DocIdSet is slim. I just noted that SerialChainFilter relies on a deprecated API.

    ----

    If it is possible to merge this with the exiting FilteredDocIdSet, that seems like the best approach.

    ----

    Also, the spatial contrib will be marked "experimental" for 2.9, so the back-compatibility contract should not be as strict . If this improvement can not get the attention it deserves before 2.9 release, the SerialChainFilter could still be removed/moved/modified at a later release.
    SerialChainFilter should use DocSet API rather then deprecated BitSet API
    -------------------------------------------------------------------------

    Key: LUCENE-1504
    URL: https://issues.apache.org/jira/browse/LUCENE-1504
    Project: Lucene - Java
    Issue Type: Improvement
    Components: contrib/spatial
    Reporter: Ryan McKinley
    Assignee: Uwe Schindler
    Fix For: 2.9

    Attachments: LUCENE-1504.patch, LUCENE-1504.patch


    From erik's comments in LUCENE-1387
    * Maybe the Filter's should be using the DocIdSet API rather than the BitSet deprecated stuff? We can refactor that after being committed I supposed, but not something we want to leave like that.
    We should also look at moving SerialChainFilter out of the spatial contrib since it is more generally useful then just spatial search.
    --
    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
  • Michael McCandless (JIRA) at Jul 31, 2009 at 3:54 pm
    [ https://issues.apache.org/jira/browse/LUCENE-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

    Michael McCandless updated LUCENE-1504:
    ---------------------------------------

    Attachment: LUCENE-1504.patch


    OK I reworked a number of things about distance filtering:

    - Switched to FilteredDocIdSet to do "serial anding"

    - DistanceFilter now requires a starting filter; normally in spatial
    there is already a starting filter (using geohash or lat/lng
    tiers), so I think this should be fine. And one can always do
    QueryWrapperFilter(MatchAllDocsQuery()) as a no-op filter.

    - Moved stuff into the base class, DistanceFilter

    - Fixed one bug, where the saved distances were getting overwritten
    per-segment

    - Fixed another bug where GeoHashDistanceFilter was adding a
    distance into the distances hash even if it didn't pass the filter
    (ie distance was too big); this required a fix to one of the tests

    - Use Double.toString\(n) instead of new Double\(n).toString()

    - Added DistanceFilter.reset, which you must call before reusing the
    filter across searches

    - Commented out the precision-defaulting logic: it was buggy (used
    the segment maxDoc() instead of per-reader), and, it wasn't
    actually used (the code that applies precision was commented out
    for both LatLong and GeoHash)

    - Removed some logging calls (I know there's another issue open to
    do more cleanups)

    SerialChainFilter should use DocSet API rather then deprecated BitSet API
    -------------------------------------------------------------------------

    Key: LUCENE-1504
    URL: https://issues.apache.org/jira/browse/LUCENE-1504
    Project: Lucene - Java
    Issue Type: Improvement
    Components: contrib/spatial
    Reporter: Ryan McKinley
    Assignee: Uwe Schindler
    Fix For: 2.9

    Attachments: LUCENE-1504.patch, LUCENE-1504.patch, LUCENE-1504.patch


    From erik's comments in LUCENE-1387
    * Maybe the Filter's should be using the DocIdSet API rather than the BitSet deprecated stuff? We can refactor that after being committed I supposed, but not something we want to leave like that.
    We should also look at moving SerialChainFilter out of the spatial contrib since it is more generally useful then just spatial search.
    --
    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
  • Michael McCandless (JIRA) at Jul 31, 2009 at 4:04 pm
    [ https://issues.apache.org/jira/browse/LUCENE-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737578#action_12737578 ]

    Michael McCandless commented on LUCENE-1504:
    --------------------------------------------

    bq. So you mean we should simply kick this new class and use whats already in Lucene?

    Right, that's what I did on first cut patch above: I use FilteredDocIdSet to efficiently AND the approx distance filter w/ the precise filter, and then ChainedFilter to combine an incoming Query-as-filter with the approx+precise distance filter.

    We really need a random-access Filter API (LUCENE-1536); if we had that then we could have better support for efficiently ANDing filters. I suppose FilteredDocIdSet is in fact a start at a random access Filter API: it exposes only the method boolean match(int doc).
    SerialChainFilter should use DocSet API rather then deprecated BitSet API
    -------------------------------------------------------------------------

    Key: LUCENE-1504
    URL: https://issues.apache.org/jira/browse/LUCENE-1504
    Project: Lucene - Java
    Issue Type: Improvement
    Components: contrib/spatial
    Reporter: Ryan McKinley
    Assignee: Uwe Schindler
    Fix For: 2.9

    Attachments: LUCENE-1504.patch, LUCENE-1504.patch, LUCENE-1504.patch


    From erik's comments in LUCENE-1387
    * Maybe the Filter's should be using the DocIdSet API rather than the BitSet deprecated stuff? We can refactor that after being committed I supposed, but not something we want to leave like that.
    We should also look at moving SerialChainFilter out of the spatial contrib since it is more generally useful then just spatial search.
    --
    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
  • Michael McCandless (JIRA) at Jul 31, 2009 at 5:27 pm
    [ https://issues.apache.org/jira/browse/LUCENE-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

    Michael McCandless updated LUCENE-1504:
    ---------------------------------------

    Attachment: LUCENE-1504.patch

    Fixes the javadoc warnings (most pre-existing).

    I also added "throws IOException" to FilteredDocIdSet/Iterator.match.
    SerialChainFilter should use DocSet API rather then deprecated BitSet API
    -------------------------------------------------------------------------

    Key: LUCENE-1504
    URL: https://issues.apache.org/jira/browse/LUCENE-1504
    Project: Lucene - Java
    Issue Type: Improvement
    Components: contrib/spatial
    Reporter: Ryan McKinley
    Assignee: Uwe Schindler
    Fix For: 2.9

    Attachments: LUCENE-1504.patch, LUCENE-1504.patch, LUCENE-1504.patch, LUCENE-1504.patch


    From erik's comments in LUCENE-1387
    * Maybe the Filter's should be using the DocIdSet API rather than the BitSet deprecated stuff? We can refactor that after being committed I supposed, but not something we want to leave like that.
    We should also look at moving SerialChainFilter out of the spatial contrib since it is more generally useful then just spatial search.
    --
    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

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupjava-dev @
categorieslucene
postedJul 28, '09 at 5:42p
activeJul 31, '09 at 5:27p
posts8
users1
websitelucene.apache.org

1 user in discussion

Michael McCandless (JIRA): 8 posts

People

Translate

site design / logo © 2021 Grokbase