Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-3371

Support for a "SpanAndQuery" / "SpanAllNearQuery"

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • core/search
    • None
    • New

    Description

      I would like to parse queries like this:

      a WITHIN 5 WORDS OF (b AND c)
      

      This would match cases where both a b span and a c span are within 5 of the same a span.

      The existing span query classes do not appear to be capable of doing this no matter how they are combined, although replacing the AND with "WITHIN 10 OF" (general rule is to double the first number) at least ensures that no hits are lost (it just returns too many.)

      I'm not sure how the class would work, but it might be like this:

        Query q = new SpanAllNearQuery(a, new SpanQuery[] { b, c }, 5, false);
      

      The difference from SpanNearQuery is that SpanNearQuery considers the entire collection of terms as a single set to be found near each other, whereas this query would consider each of the terms in the array relative to the first.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            trejkaz Trejkaz

            Dates

              Created:
              Updated:

              Slack

                Issue deployment