Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bleve v2.0.0 proposal PR #1494

Merged
merged 29 commits into from
Jan 12, 2021
Merged

bleve v2.0.0 proposal PR #1494

merged 29 commits into from
Jan 12, 2021

Commits on Nov 10, 2020

  1. Configuration menu
    Copy the full SHA
    bb883f6 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2020

  1. reduce map access

    review comments from Sreekanth
    mschoch committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    81209a8 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2020

  1. remove encodeFieldType from upsidedown

    review comments
    mschoch committed Nov 16, 2020
    Configuration menu
    Copy the full SHA
    f25d522 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2020

  1. reduce index and segment API surface area (#1498)

    Logic inside segment implementations has been
    moved up the stack into scorch, so that fewer
    methods are required in the API.
    
    - Iterator() becomes AutomatonIterator(nil, nil, nil)
    - RangeIterator(start, end) now computes an end key
      compatible with traditional inclusive start, exclusive
      end keys.  Then becomes:
      AutomatonIterator(nil, start, endExclusive)
    - PrefixIterator(prefix) now computes an end key
      and becomes:
      AutomatonIterator(nil, prefix, prefixEnd)
    
    NumericRangeSearcher updated to no longer require
    the IndexReaderOnly interface.  This interface
    was only used for non-scorch indexes, but only
    scorch actually implemented it.  Removing this
    also meant we can remove the OnlyIterator method
    from the segment dictionary API.
    mschoch authored Nov 23, 2020
    Configuration menu
    Copy the full SHA
    c32ba08 View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2020

  1. move regexp compilation into scorch (#1500)

    this code was originally placed in the segment package,
    however it is only used by scorch, and makes more sense
    to be placed at this level
    mschoch authored Nov 24, 2020
    Configuration menu
    Copy the full SHA
    b85c082 View commit details
    Browse the repository at this point in the history
  2. move in more things from the segment package (#1501)

    the empty postings iterator is now only used
    by scorch's optimize.go, so it is relocated here
    
    the uvarint ascending encode/decode is only used
    by scorch, so it too is moved inside this package
    mschoch authored Nov 24, 2020
    Configuration menu
    Copy the full SHA
    01f884d View commit details
    Browse the repository at this point in the history
  3. move unadorned into scorch (#1502)

    the unadorned postings lists are only used by scorch
    so they are relocated to this package
    mschoch authored Nov 24, 2020
    Configuration menu
    Copy the full SHA
    8cd7ab1 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2020

  1. switch to tagged api versions (#1503)

    note: while doing this it was observed that 'go mod tidy' was
    failing with an error.  this relates to the kvstores in the
    blevex package which will needed to be updated separately.
    
    this change addresses this by removing the config_* and
    upsidedown/benchmark_* files which caused the problem.
    
    this does not remove support for these kvstores, just
    the build tag support.
    mschoch authored Nov 27, 2020
    Configuration menu
    Copy the full SHA
    9d86800 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2020

  1. update to latest versions (#1506)

    also fixup some places we missed during refactor
    mschoch authored Nov 30, 2020
    Configuration menu
    Copy the full SHA
    1460d32 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2020

  1. move the plugin interface into scorch (#1507)

    * move the plugin interface into scorch
    
    * rename scorch Plugin to SegmentPlugin
    
    and related functions
    
    * update to make all analysis take place in func() (#1508)
    
    * update to make all analysis take place in func()
    
    by making analysis take place inside a func() a
    closure can be used to encapsulate all the index
    specific details.  this allows the index API to not
    know about scorch vs upsidedown analysis structures
    
    * rewrite variable declaration for clarity
    
    also update comment, per review feedback
    
    * update to latest versions
    
    selects latest versions compatible with these changes
    mschoch authored Dec 2, 2020
    Configuration menu
    Copy the full SHA
    cf6396d View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2020

  1. update Advanced() method (#1509)

    * update Advanced() method
    
    at the top-level of bleve, Advanced no longer knows about
    K/V stores, instead it only returns reference to the internal
    index implementation.
    
    this will allow us to remove the Advanced() method from the
    internal index implementation.
    
    NOTE: users who previously needed to access the underlying
    K/V store, will still be able to do so, but must first
    type assert that the internal index impl is
    *UpsideDownCouch and if it is, they can use that Advanced()
    method directly
    
    * relocate store pkg inside upsidedown (#1510)
    
    * relocate store pkg inside upsidedown
    
    since kvstores are a concept unique to the upsidedown index
    implementation, the store folder should be relocated inside
    of that package
    
    * remove Advanced() method from scorch (#1511)
    
    * remove Advanced() method from scorch
    
    after the API is updated, scorch no longer requires
    this useless method to satisfy the interface
    
    * update to latest apis
    mschoch authored Dec 3, 2020
    Configuration menu
    Copy the full SHA
    9548dc5 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2020

  1. make upsidedown store API ext module (#1512)

    also, place shared kvstore test code in this
    module, not in upsidedown (avoids circular deps)
    mschoch authored Dec 4, 2020
    Configuration menu
    Copy the full SHA
    9c73f9d View commit details
    Browse the repository at this point in the history
  2. move FieldCache into upsidedown (#1513)

    previous the FieldCache type was in the index package,
    but it is only used by upsidedown, so we relocate it there.
    mschoch authored Dec 4, 2020
    Configuration menu
    Copy the full SHA
    1fcbc4f View commit details
    Browse the repository at this point in the history
  3. make ErrUnknownIndexType upsidedown specific (#1514)

    this removes the top-level bleve err ErrUnknownIndexType
    instead, now the upsidedown specific error is returned.
    
    users who actually care and are checking for this error type
    still can, only now it is defined in the upsidedown package.
    mschoch authored Dec 4, 2020
    Configuration menu
    Copy the full SHA
    010cf8f View commit details
    Browse the repository at this point in the history
  4. move regexp interface to searcher (#1515)

    this interface is only used by the searcher package, thus
    it makes sense to define it there
    mschoch authored Dec 4, 2020
    Configuration menu
    Copy the full SHA
    bcacd48 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2020

  1. remove use of dump methods from index reader (#1516)

    the dump methods were only ever supposed by upsidedown
    now, users of this method must type-assert that their reader
    is from the upsidedown package, where these methods remain,
    unchanged.
    mschoch authored Dec 6, 2020
    Configuration menu
    Copy the full SHA
    66ef9cf View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2020

  1. remove remaining blevex imports (#1520)

    these cause circular dependencies and are easy for applications
    to do themselves
    mschoch authored Dec 16, 2020
    Configuration menu
    Copy the full SHA
    0050aac View commit details
    Browse the repository at this point in the history
  2. use the moved indexing options (#1521)

    * use the moved indexing options
    
    * update analysis.TokenFrequency to use options (#1522)
    
    * update analysis.TokenFrequency to use options
    
    previously it used boolean, and future changes would
    require additional booleans.  using options directly
    keeps the function signatures cleaner.
    
    * update to latest apis
    mschoch authored Dec 16, 2020
    Configuration menu
    Copy the full SHA
    4da47c3 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2020

  1. update to work with removed items (#1524)

    * update to work with removed items
    
    * update to latest api
    mschoch authored Dec 18, 2020
    Configuration menu
    Copy the full SHA
    1af4ca2 View commit details
    Browse the repository at this point in the history
  2. do not type assert on document or field (#1525)

    instead use the interface exposed by index api
    mschoch authored Dec 18, 2020
    Configuration menu
    Copy the full SHA
    3f65216 View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2020

  1. update for latest renaming (#1527)

    * update for latest renaming
    
    * update to latest apis
    mschoch authored Dec 22, 2020
    Configuration menu
    Copy the full SHA
    a6e5e07 View commit details
    Browse the repository at this point in the history
  2. switch default index to scorch with latest zap (#1528)

    one example required updating as it's custom sort contained a
    tie (both fields with age 0).  upsidedown always returned the
    results in a particular order, which was not guaranteed by scorch.
    to address this, the exmaple has been updated to include the
    doc id as an additional sort criteria (ensuring the original
    order expected is kept by scorch)
    mschoch authored Dec 22, 2020
    Configuration menu
    Copy the full SHA
    44887af View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2020

  1. Configuration menu
    Copy the full SHA
    3f670ba View commit details
    Browse the repository at this point in the history
  2. Adding configurable freq/norm processing (#1526)

    * Adding configurable freq/norm processing
    
    Useful for use cases where score relevancy isn't needed
    for the search requests.
    
    A special frequency value of zero/0 is used for skipping
    the freq/norm.
    
    * update to work with removed items (#1524)
    
    * update to work with removed items
    
    * update to latest api
    
    * do not type assert on document or field (#1525)
    
    instead use the interface exposed by index api
    
    * update for latest renaming (#1527)
    
    * update for latest renaming
    
    * update to latest apis
    
    * switch default index to scorch with latest zap (#1528)
    
    one example required updating as it's custom sort contained a
    tie (both fields with age 0).  upsidedown always returned the
    results in a particular order, which was not guaranteed by scorch.
    to address this, the exmaple has been updated to include the
    doc id as an additional sort criteria (ensuring the original
    order expected is kept by scorch)
    
    * update to release candidate apis (#1531)
    
    Co-authored-by: Marty Schoch <marty.schoch@gmail.com>
    sreekanth-cb and mschoch authored Dec 31, 2020
    Configuration menu
    Copy the full SHA
    d464b26 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2021

  1. restore correct copyright header (#1532)

    it appears that while moving files around I mistakenly
    changed a copyright header, which was not my intention
    mschoch authored Jan 5, 2021
    Configuration menu
    Copy the full SHA
    4f3ee06 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2021

  1. MatchOperator should be that type instead of int (#1410)

    Right now `MatchOperator` constants are ints and when you're trying to
    assign them to a variable you get an int. If you try to use those
    variables as operator you get the following error:
    
    ```
    cannot use operator (type int) as type MatchQueryOperator in argument to q.SetOperator
    
    ```
    
    So, to fix this problem we just need to create `MatchOperator` constants
    ethervoid authored Jan 6, 2021
    Configuration menu
    Copy the full SHA
    8e14fc9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    987d561 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2021

  1. update to v1 apis and zapx versions (#1537)

    * update to v1 apis and zapx versions
    
    * update to v1.0.1 upsidedown_store_api
    
    * make sort integration tests more precise
    
    the upsidedown implementation would break tie
    sort order in a predictable way, and some tests
    inadvertely relied on this behavior.
    
    these tests have been adjusted to use a more
    specific sort order, breaking all ties, such that
    the expected results no longer depend on
    implementation details.
    mschoch authored Jan 12, 2021
    Configuration menu
    Copy the full SHA
    eedb767 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e843f84 View commit details
    Browse the repository at this point in the history