ppy / osu-elastic-indexer Goto Github PK
View Code? Open in Web Editor NEWMySQL -> Elasticsearch score pump
License: MIT License
MySQL -> Elasticsearch score pump
License: MIT License
The form of some of the queries currently being used won't work with ES7+ (especially the index_meta
ones).
This metadata should probably be moved into the high_score
indices themselves; the metadata queries can be replaced by listing and filtering for matching indices.
The new indexer does not check this flag.
We can just check the current alias on ES instead. Should simplify things.
Not just the current schema used, but any versions being reindexed as well.
The use case for this is during a reindex, if a score with an id lower than the current indexing progress gets deleted, it will get missed since other processors pushing to the queue will still be pushing to the old queue.
This should let processors know there is more than one queue to push to.
Maybe also allow pushing just the id? So it's easier to push scores for reindexing. Mainly for user restriction/unrestriction and deleting scores on beatmapset state change (and testing).
Also the current json being pushed doesn't match the score data structure anymore so either the indexer need to deal with incomplete json structure or everything else pushing scores for indexing will need to sync their json as needed.
SetEnvironmentVariable
should not be used in the code to forward envvars to dependencies.Needed for beatmap pack completion state check as it only counts plays on non-converted difficulties. Splitting search per ruleset is possible but that means one query per ruleset will be run for the check.
beatmapset_id
would also be nice although not strictly needed.
For instance, queue
will look like it is processing items successfully when it's actually doing nothing.
osu-queue-score-statistics
will push to the queue externally. It will query osu-queue:score-index:{AppSettings.Prefix}schema
to get the version.
This version is set after an all
command completes. There may be a few scores missed between the time during which the all
command is iterating scores and when the schema version is updated.
Easy solution is to do one final index operation after switching the schema version, to catch any new scores which may have been missed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.