jina-ai / executor-hnsw-postgres Goto Github PK
View Code? Open in Web Editor NEWA production-ready, scalable Indexer for the Jina neural search framework, based on HNSW and PSQL
Home Page: https://hub.jina.ai/executor/dvp0845a
A production-ready, scalable Indexer for the Jina neural search framework, based on HNSW and PSQL
Home Page: https://hub.jina.ai/executor/dvp0845a
Right now sync will be slow
rebuild
, the operations will always be index
. We should optimize for this. Done in #5Numbers before any perf refactoring
Performance
indexing 1000 ... indexing 1000 takes 0 seconds (0.22s)
rolling update 3 replicas x 2 shards ... psq_handler@19733[I]:Using existing table
psq_handler@19738[I]:Using existing table
psq_handler@19751[I]:Using existing table
psq_handler@19759[I]:Using existing table
psq_handler@19769[I]:Using existing table
psq_handler@19779[I]:Using existing table
rolling update 3 replicas x 2 shards takes 0 seconds (0.82s)
search with 10 ... search with 10 takes 0 seconds (0.23s)
indexing 10000 ... indexing 10000 takes 0 seconds (0.75s)
rolling update 3 replicas x 2 shards ... psq_handler@20547[I]:Using existing table
psq_handler@20552[I]:Using existing table
psq_handler@20564[I]:Using existing table
psq_handler@20574[I]:Using existing table
psq_handler@20626[I]:Using existing table
psq_handler@20636[I]:Using existing table
rolling update 3 replicas x 2 shards takes 9 seconds (9.08s)
search with 10 ... search with 10 takes 0 seconds (0.22s)
indexing 100000 ... indexing 100000 takes 7 seconds (7.59s)
rolling update 3 replicas x 2 shards ... psq_handler@24546[I]:Using existing table
psq_handler@24551[I]:Using existing table
psq_handler@24736[I]:Using existing table
psq_handler@24746[I]:Using existing table
psq_handler@24827[I]:Using existing table
psq_handler@24837[I]:Using existing table
rolling update 3 replicas x 2 shards takes 7 minutes and 17 seconds (437.44s)
search with 10 ... search with 10 takes 0 seconds (0.22s)
docker run -e POSTGRES_PASSWORD=123456 -p 127.0.0.1:5432:5432/tcp postgres:13.2
build a flow with one executor:HNSWPostgresIndexer
run the flow locally, it works well
expose the flow to docker-compose yaml, and run the flow with docker-compose ,get an error:
jina version info:
- jina 3.3.19
- docarray 0.12.2
- jina-proto 0.1.8
- jina-vcs-tag (unset)
- protobuf 3.20.0
- proto-backend cpp
- grpcio 1.43.0
- pyyaml 6.0
- python 3.10.2
- platform Linux
- platform-release 4.4.0-186-generic
- platform-version #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020
- architecture x86_64
- processor x86_64
- uid 48710637999860
- session-id 906abcd2-c797-11ec-b1df-2c4d544656f4
- uptime 2022-04-29T16:37:11.758133
- ci-vendor (unset)
* JINA_DEFAULT_HOST (unset)
* JINA_DEFAULT_TIMEOUT_CTRL (unset)
* JINA_DEFAULT_WORKSPACE_BASE /home/chenhao/.jina/executor-workspace
* JINA_DEPLOYMENT_NAME (unset)
* JINA_DISABLE_UVLOOP (unset)
* JINA_FULL_CLI (unset)
* JINA_GATEWAY_IMAGE (unset)
* JINA_GRPC_RECV_BYTES (unset)
* JINA_GRPC_SEND_BYTES (unset)
* JINA_HUBBLE_REGISTRY (unset)
* JINA_HUB_CACHE_DIR (unset)
* JINA_HUB_NO_IMAGE_REBUILD (unset)
* JINA_HUB_ROOT (unset)
* JINA_LOG_CONFIG (unset)
* JINA_LOG_LEVEL (unset)
* JINA_LOG_NO_COLOR (unset)
* JINA_MP_START_METHOD (unset)
* JINA_RANDOM_PORT_MAX (unset)
* JINA_RANDOM_PORT_MIN (unset)
* JINA_VCS_VERSION (unset)
* JINA_CHECK_VERSION True
host_peas
arg to work againCommunity member asked in office hourse
why scores
seem not to be returned in matches
Fixed in #9
If another executor would also like to report some status information using the same status
endpoint the return of the HNSQPostgresIndexer will remove it.
It seems some manner of using object update
on the tags or just placing the status under a particular key would be more friendlier.
executor-hnsw-postgres/executor/hnswpsql.py
Line 322 in 7975409
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.