mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-06 17:18:35 +08:00
issue: #43427 pr: #37417 This pr's main goal is merge #37417 to milvus 2.5 without conflicts. # Main Goals 1. Create and describe collections with geospatial type 2. Insert geospatial data into the insert binlog 3. Load segments containing geospatial data into memory 4. Enable query and search can display geospatial data 5. Support using GIS funtions like ST_EQUALS in query # Solution 1. **Add Type**: Modify the Milvus core by adding a Geospatial type in both the C++ and Go code layers, defining the Geospatial data structure and the corresponding interfaces. 2. **Dependency Libraries**: Introduce necessary geospatial data processing libraries. In the C++ source code, use Conan package management to include the GDAL library. In the Go source code, add the go-geom library to the go.mod file. 3. **Protocol Interface**: Revise the Milvus protocol to provide mechanisms for Geospatial message serialization and deserialization. 4. **Data Pipeline**: Facilitate interaction between the client and proxy using the WKT format for geospatial data. The proxy will convert all data into WKB format for downstream processing, providing column data interfaces, segment encapsulation, segment loading, payload writing, and cache block management. 5. **Query Operators**: Implement simple display and support for filter queries. Initially, focus on filtering based on spatial relationships for a single column of geospatial literal values, providing parsing and execution for query expressions.Now only support brutal search 6. **Client Modification**: Enable the client to handle user input for geospatial data and facilitate end-to-end testing.Check the modification in pymilvus. --------- Signed-off-by: Yinwei Li <yinwei.li@zilliz.com> Signed-off-by: Cai Zhang <cai.zhang@zilliz.com> Co-authored-by: cai.zhang <cai.zhang@zilliz.com>
121 lines
5.6 KiB
Modula-2
121 lines
5.6 KiB
Modula-2
module github.com/milvus-io/milvus/tests/go_client
|
|
|
|
go 1.24.4
|
|
|
|
require (
|
|
github.com/milvus-io/milvus/client/v2 v2.5.4
|
|
github.com/milvus-io/milvus/pkg/v2 v2.5.7
|
|
github.com/quasilyte/go-ruleguard/dsl v0.3.22
|
|
github.com/samber/lo v1.27.0
|
|
github.com/stretchr/testify v1.10.0
|
|
// github.com/twpayne/go-geom v1.6.1
|
|
github.com/x448/float16 v0.8.4
|
|
go.uber.org/zap v1.27.0
|
|
google.golang.org/grpc v1.65.0
|
|
)
|
|
|
|
replace github.com/milvus-io/milvus/client/v2 => ../../client
|
|
|
|
require (
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/blang/semver/v4 v4.0.0 // indirect
|
|
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/cilium/ebpf v0.11.0 // indirect
|
|
github.com/cockroachdb/errors v1.9.1 // indirect
|
|
github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f // indirect
|
|
github.com/cockroachdb/redact v1.1.3 // indirect
|
|
github.com/containerd/cgroups/v3 v3.0.3 // indirect
|
|
github.com/coreos/go-semver v0.3.0 // indirect
|
|
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
github.com/docker/go-units v0.5.0 // indirect
|
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
|
github.com/form3tech-oss/jwt-go v3.2.3+incompatible // indirect
|
|
github.com/getsentry/sentry-go v0.12.0 // indirect
|
|
github.com/go-logr/logr v1.4.2 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/go-ole/go-ole v1.3.0 // indirect
|
|
github.com/godbus/dbus/v5 v5.0.4 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/golang/protobuf v1.5.4 // indirect
|
|
github.com/google/btree v1.1.2 // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/gorilla/websocket v1.4.2 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
|
|
github.com/jonboulle/clockwork v0.2.2 // indirect
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
|
github.com/kr/pretty v0.3.1 // indirect
|
|
github.com/kr/text v0.2.0 // indirect
|
|
github.com/lufia/plan9stats v0.0.0-20240226150601-1dcf7310316a // indirect
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
|
github.com/milvus-io/milvus-proto/go-api/v2 v2.5.18-0.20250822062940-e34629021786 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
github.com/opencontainers/runtime-spec v1.0.2 // indirect
|
|
github.com/panjf2000/ants/v2 v2.11.3 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
|
|
github.com/prometheus/client_golang v1.14.0 // indirect
|
|
github.com/prometheus/client_model v0.5.0 // indirect
|
|
github.com/prometheus/common v0.42.0 // indirect
|
|
github.com/prometheus/procfs v0.9.0 // indirect
|
|
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
|
github.com/shirou/gopsutil/v3 v3.24.2 // indirect
|
|
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
|
github.com/sirupsen/logrus v1.9.3 // indirect
|
|
github.com/soheilhy/cmux v0.1.5 // indirect
|
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
|
github.com/spf13/cast v1.3.1 // indirect
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
|
github.com/tidwall/gjson v1.17.1 // indirect
|
|
github.com/tidwall/match v1.1.1 // indirect
|
|
github.com/tidwall/pretty v1.2.0 // indirect
|
|
github.com/tklauser/go-sysconf v0.3.13 // indirect
|
|
github.com/tklauser/numcpus v0.7.0 // indirect
|
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect
|
|
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
|
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
|
|
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
|
go.etcd.io/bbolt v1.3.6 // indirect
|
|
go.etcd.io/etcd/api/v3 v3.5.5 // indirect
|
|
go.etcd.io/etcd/client/pkg/v3 v3.5.5 // indirect
|
|
go.etcd.io/etcd/client/v2 v2.305.5 // indirect
|
|
go.etcd.io/etcd/client/v3 v3.5.5 // indirect
|
|
go.etcd.io/etcd/pkg/v3 v3.5.5 // indirect
|
|
go.etcd.io/etcd/raft/v3 v3.5.5 // indirect
|
|
go.etcd.io/etcd/server/v3 v3.5.5 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect
|
|
go.opentelemetry.io/otel v1.28.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0 // indirect
|
|
go.opentelemetry.io/otel/metric v1.28.0 // indirect
|
|
go.opentelemetry.io/otel/sdk v1.28.0 // indirect
|
|
go.opentelemetry.io/otel/trace v1.28.0 // indirect
|
|
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
|
|
go.uber.org/atomic v1.11.0 // indirect
|
|
go.uber.org/automaxprocs v1.5.3 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
golang.org/x/crypto v0.36.0 // indirect
|
|
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
|
|
golang.org/x/net v0.38.0 // indirect
|
|
golang.org/x/sync v0.12.0 // indirect
|
|
golang.org/x/sys v0.31.0 // indirect
|
|
golang.org/x/text v0.23.0 // indirect
|
|
golang.org/x/time v0.5.0 // indirect
|
|
google.golang.org/genproto v0.0.0-20240624140628-dc46fd24d27d // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20240617180043-68d350f18fd4 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf // indirect
|
|
google.golang.org/protobuf v1.34.2 // indirect
|
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
k8s.io/apimachinery v0.28.6 // indirect
|
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
|
)
|