From d34717006da1604d21bc4b45f6c4efb1e9a6f85c Mon Sep 17 00:00:00 2001 From: writinwaters <93570324+writinwaters@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:39:21 +0800 Subject: [PATCH] Ininitial draft of Infininity release notes v0.5.0 (#2387) ### What problem does this PR solve? ### Type of change - [x] Documentation Update --------- Signed-off-by: writinwaters --- docs/guides/_category_.json | 2 +- docs/references/http_api_reference.mdx | 4 +-- docs/references/pysdk_api_reference.md | 20 ++++++++++----- docs/release_notes.md | 34 ++++++++++++++++++++++++++ 4 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 docs/release_notes.md diff --git a/docs/guides/_category_.json b/docs/guides/_category_.json index 19176a7ffe..b883c9fe87 100644 --- a/docs/guides/_category_.json +++ b/docs/guides/_category_.json @@ -1,6 +1,6 @@ { "label": "Guides", - "position": 1, + "position": 2, "link": { "type": "generated-index", "description": "Infinity usage guide" diff --git a/docs/references/http_api_reference.mdx b/docs/references/http_api_reference.mdx index 9b47c42629..8acf3aa763 100644 --- a/docs/references/http_api_reference.mdx +++ b/docs/references/http_api_reference.mdx @@ -1799,7 +1799,7 @@ curl --request GET \ [ "body" ], - "filter": "score >= 4.0", + "filter": "score >= 4.0 and name = '"'Toby'"'", "search": [ { @@ -1882,7 +1882,7 @@ curl --request GET \ where each 'K' represents a parameter name and 'V' represents its value - Available parameters in 'extra_options': - **'minimum_should_match'**: specifies how many clauses in the 'matching_text' should be satisfied at least. - It can be in the following format: + It can be in the following formats: - Positive integer `N`: at least `N` clauses should be satisfied. - Negative integer `-N`: at least (total clause count - `N`) clauses should be satisfied. - Positive Percentage `N%`: at least `⌊total clause count * N%⌋` clauses should be satisfied. diff --git a/docs/references/pysdk_api_reference.md b/docs/references/pysdk_api_reference.md index c8380f6ed1..4f86ed26be 100644 --- a/docs/references/pysdk_api_reference.md +++ b/docs/references/pysdk_api_reference.md @@ -140,7 +140,7 @@ infinity_object.disconnect() ### create_database ```python -infinity_object.create_database(db_name, conflict_type = ConflictType.Error) +infinity_object.create_database(db_name, conflict_type = ConflictType.Error, comment = None) ``` Creates a database with a specified name. @@ -176,6 +176,10 @@ from infinity.common import ConflictType If `ConflictType` is not set, it defaults to `Error`. ::: +##### comment: `str`, *Optional* + +Additional comment for the database to create. + #### Returns - Success: An `infinity.local_infinity.db.LocalDatabase` object in embedded mode or an `infinity.remote_thrift.db.RemoteDatabase` object in client-server mode. @@ -194,14 +198,14 @@ infinity_object.create_database("my_database") ```python # Create a database named 'my_database': # If the specified database already exists, raise an error (same as above). -infinity_object.create_database("my_database", infinity.common.ConflictType.Error) +infinity_object.create_database("my_database", infinity.common.ConflictType.Error, comment="Database One") ``` ```python from infinity.common import ConflictType # Create a database named 'my_database': # If the specified database already exists, silently ignore the operation and proceed. -infinity_object.create_database("my_database", ConflictType.Ignore) +infinity_object.create_database("my_database", ConflictType.Ignore, comment="Database One") ``` --- @@ -856,7 +860,7 @@ res = db_object.show_table('my_table') ### create_index ```python -table_object.create_index(index_name, index_info, conflict_type = ConflictType.Error) +table_object.create_index(index_name, index_info, conflict_type = ConflictType.Error, comment = None) ``` Creates an index on a specified column. @@ -968,6 +972,10 @@ from infinity.common import ConflictType If `ConflictType` is not set, it defaults to `Error`. ::: +##### comment: `str`, *Optional* + +Additional comment for the index to create. + #### Returns A structure containing these attributes: @@ -991,7 +999,7 @@ table_object = db_object.create_table("test_index_hnsw", {"c1": {"type": "vector # - "ef_construction": "50", # - "encode": "plain" # Only the "metric" parameter (required) is explicitly set to L2 distance. -table_object.create_index("my_index",IndexInfo("c1", IndexType.Hnsw, {"metric": "l2"})) +table_object.create_index("my_index",IndexInfo("c1", IndexType.Hnsw, {"metric": "l2"}), comment="Index One") ``` ```python {1} @@ -1028,7 +1036,7 @@ table_object = db_object.create_table("test_index_hnsw", {"c1": {"type": "multiv # - "ef_construction": "50", # - "encode": "plain" # Only the "metric" parameter (required) is explicitly set to L2 distance. -table_object.create_index("my_index",IndexInfo("c1", IndexType.Hnsw, {"metric": "l2"})) +table_object.create_index("my_index", IndexInfo("c1", IndexType.Hnsw, {"metric": "l2"})) ``` ##### Create a full-text index diff --git a/docs/release_notes.md b/docs/release_notes.md new file mode 100644 index 0000000000..3e627b64fd --- /dev/null +++ b/docs/release_notes.md @@ -0,0 +1,34 @@ +--- +sidebar_position: 1 +slug: /release_notes +--- + +# Release notes + +Key features, improvements and bug fixes in the latest releases. + +## v0.5.0 + +Released on December 18, 2024. + +### New features + +- Implements a highly available architecture based on shared storage, featuring one write node and multiple read nodes. +- Implements 8-bit scalar quantization and product quantization in the IVF index. +- Supports using Hamming distance as metric when matching/searching binary vectors. +- Implements query result caching and pagination. +- Supports specifying comments when creating database or index. +- Supports regular expressions (regex), including md5,substring, lower, upper, ltrim, rtrim, trim, char_posiition, sqrt, round, ceil, floor, IN, isnan, isinf, and isfinite +- Enhances the search performance for full-text searches with multiple terms/clauses. +- Supports using `MinimumShouldMatch` as a full-text filter. +- When using BM25 for full-text search or using L2/IP/Cosine distance metric for dense vector, sparse vector, or tensor search, you can use the `threshold` option to filter results. +- Supports ARM64 CPUs. +- Tokenizers: Adds an IK analyzer and enhances the performance of the RAG analyzer. +- Integrated into RAGFlow. + +### Documentation + +#### Added documents + +- [Conduct a search](https://infiniflow.org/docs/dev/search_guide) +- [Set up an Infinity cluster](https://infiniflow.org/docs/dev/set_up_cluster) \ No newline at end of file