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

Update dependency flexsearch to ^0.7.0 #87

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 2, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
flexsearch ^0.6.32 -> ^0.7.0 age adoption passing confidence

Release Notes

nextapps-de/flexsearch

v0.7.31

Compare Source

v0.7.21

Compare Source

v0.7.11

Compare Source

v0.7.3

Compare Source

v0.7.2

Compare Source

v0.7.1

Compare Source

v0.7.0

Compare Source

  • Bidirectional Context (the order of words can now vary, does not increase memory when using bidirectional context)
  • New memory-friendly strategy for indexes (switchable, saves up to 50% of memory for each index, slightly decrease performance)
  • Better scoring calculation (one of the biggest concerns of the old implementation was that the order of arrays processed in the intersection has affected the order of relevance in the final result)
  • Fix resolution (the resolution in the old implementation was not fully stretched through the whole range in some cases)
  • Skip words (optionally, automatically skip words from the context chain which are too short)
  • Hugely improves performance of long queries (up to 450x faster!) and also memory allocation (up to 250x less memory)
  • New fast-update strategy (optionally, hugely improves performance of all updates and removals of indexed contents up to 2850x)
  • Improved auto-balanced cache (keep and expire cache by popularity)
  • Append contents to already existing entries (already indexed documents or contents)
  • New method "contain" to check if an ID was already indexed
  • Access documents directly from internal store (read/write)
  • Suggestions are hugely improved, falls back from context search all the way down to single term match
  • Document descriptor has now array support (optionally adds array entries via the new append under the hood to provide a unique relevance context for each entry)
  • Document storage handler gets improved
  • Results from document index now grouped by field (this is one of the few bigger breaking changes which needs migrations of your old code)
  • Boolean search has a new concept (use in combination of the new result structure)
  • Node.js Worker Threads
  • Improved default latin encoders
  • New parallelization model and workload distribution
  • Improved Export/Import
  • Tag Search
  • Offset pagination
  • Enhanced Field Search
  • Improved sorting by relevance (score)
  • Added Context Scoring (context index has its own resolution)
  • Enhanced charset normalization
  • Improved bundler (support for inline WebWorker)

These features have been removed:

  • Where-Clause
  • Index Information index.info()
  • Paging Cursor (was replaced by offset)
Migration Quick Overview

The "async" options was removed, instead you can call each method in its async version, e.g. index.addAsync or index.searchAsync.

Define document fields as object keys is not longer supported due to the unification of all option payloads.

A full configuration example for a context-based index:

var index = new Index({
    tokenize: "strict",
    resolution: 9,
    minlength: 3,
    optimize: true,
    fastupdate: true,
    cache: 100,
    context: {
        depth: 1,
        resolution: 3,
        bidirectional: true
    }
});

The resolution could be set also for the contextual index.

A full configuration example for a document based index:

const index = new Document({
    tokenize: "forward",
    optimize: true,
    resolution: 9,
    cache: 100,
    worker: true,
    document: {
        id: "id",
        tag: "tag",
        store: [
            "title", "content"
        ],
        index: [{
            field: "title",
            tokenize: "forward",
            optimize: true,
            resolution: 9
        },{
            field:  "content",
            tokenize: "strict",
            optimize: true,
            resolution: 9,
            minlength: 3,
            context: {
                depth: 1,
                resolution: 3
            }
        }]
    }
});

A full configuration example for a document search:

index.search({
    enrich: true,
    bool: "and",
    tag: ["cat", "dog"],
    index: [{
        field: "title",
        query: "some query",
        limit: 100,
        suggest: true
    },{
        field: "content",
        query: "same or other query",
        limit: 100,
        suggest: true
    }]
});
Where Clause Replacement

Old Syntax:

const result = index.where({
    cat: "comedy",
    year: "2018"
});

Equivalent Syntax (0.7.x):

const data = Object.values(index.store);

The line above retrieves data from the document store (just useful when not already available in your runtime).

const result = data.filter(function(item){ 
    return item.cat === "comedy" && item.year === "2018";
});

Also considering using the Tag-Search feature, which partially replaces the Where-Clause with a huge performance boost.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the renovate label Feb 2, 2022
@vercel
Copy link

vercel bot commented Feb 2, 2022

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/kobakazu0429/kure-kosen-map/EWXQPFF5n3azh2koMtYHpjeBx5uK
✅ Preview: Failed

[Deployment for d154638 failed]

@renovate
Copy link
Contributor Author

renovate bot commented Mar 24, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant