Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.4
    • Fix Version/s: 2.9
    • Component/s: modules/other
    • Labels:
      None
    • Lucene Fields:
      New, Patch Available

      Description

      According to the thread in java-dev (http://www.gossamer-threads.com/lists/lucene/java-dev/67807 and http://www.gossamer-threads.com/lists/lucene/java-dev/67839), I want to include my fast numerical range query implementation into lucene contrib-queries.

      I implemented (based on RangeFilter) another approach for faster
      RangeQueries, based on longs stored in index in a special format.

      The idea behind this is to store the longs in different precision in index
      and partition the query range in such a way, that the outer boundaries are
      search using terms from the highest precision, but the center of the search
      Range with lower precision. The implementation stores the longs in 8
      different precisions (using a class called TrieUtils). It also has support
      for Doubles, using the IEEE 754 floating-point "double format" bit layout
      with some bit mappings to make them binary sortable. The approach is used in
      rather big indexes, query times are even on low performance desktop
      computers <<100 ms for very big ranges on indexes with 500000 docs.

      I called this RangeQuery variant and format "TrieRangeRange" query because
      the idea looks like the well-known Trie structures (but it is not identical
      to real tries, but algorithms are related to it).

        Attachments

        1. TrieUtils.java
          3 kB
          Yonik Seeley
        2. TrieUtils.java
          8 kB
          Uwe Schindler
        3. TrieUtils.java
          9 kB
          Uwe Schindler
        4. TrieUtils.java
          11 kB
          Uwe Schindler
        5. TrieUtils.java
          13 kB
          Yonik Seeley
        6. TrieRangeFilter.java
          11 kB
          Uwe Schindler
        7. trie.zip
          9 kB
          Uwe Schindler
        8. LUCENE-1470-revamp.patch
          115 kB
          Uwe Schindler
        9. LUCENE-1470-revamp.patch
          149 kB
          Uwe Schindler
        10. LUCENE-1470-revamp.patch
          153 kB
          Uwe Schindler
        11. LUCENE-1470-readme.patch
          2 kB
          Uwe Schindler
        12. LUCENE-1470-apichange.patch
          8 kB
          Uwe Schindler
        13. LUCENE-1470.patch
          32 kB
          Uwe Schindler
        14. LUCENE-1470.patch
          39 kB
          Uwe Schindler
        15. LUCENE-1470.patch
          40 kB
          Uwe Schindler
        16. LUCENE-1470.patch
          48 kB
          Uwe Schindler
        17. LUCENE-1470.patch
          51 kB
          Uwe Schindler
        18. LUCENE-1470.patch
          56 kB
          Uwe Schindler
        19. LUCENE-1470.patch
          56 kB
          Uwe Schindler
        20. fixbuild-LUCENE-1470.patch
          0.7 kB
          Uwe Schindler
        21. fixbuild-LUCENE-1470.patch
          2 kB
          Uwe Schindler

          Issue Links

            Activity

              People

              • Assignee:
                thetaphi Uwe Schindler
                Reporter:
                thetaphi Uwe Schindler
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: