---
title: Databend 开源周报第 141 期
description: 'Databend 的全文索引能力进一步增强，用户可以根据复杂的需求进行精确的搜索和数据检索。'
slug: category-weekly/databend-weekly-141
date: 2024-04-22
tags: [weekly]
category: Weekly
cover_url: 'weekly/weekly-141.jpg'
image: 'weekly/weekly-141.jpg'
contributors:
  - name: andylokandy
  - name: b41sh
  - name: BohuTANG
  - name: Chasen-Zhang
  - name: dantengsky
  - name: Dousir9
  - name: dqhl76
  - name: drmingdrmer
  - name: finchxx
  - name: lichuang
  - name: soyeric128
  - name: sundy-li
  - name: TCeason
  - name: xudong963
  - name: YichiZhang0613
  - name: youngsofun
  - name: zhyass
authors:
  - DatabendLabs
---

> 英文版移步：https://www.databend.com/blog/2024-04-22-databend-weekly
>
> [Databend](https://github.com/databendlabs/databend) 是一款现代云数仓。专为弹性和高效设计，为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务：[https://app.databend.cn](https://app.databend.cn) 。

## What's On In Databend

探索 Databend 本周新进展，遇到更贴近你心意的 Databend。

### 全文检索能力进阶

在近期的更新中，Databend 进一步增强了全文检索能力，对 `match` 和 `query` 函数进行了扩展和优化，使得用户能够根据复杂的需求进行精确的搜索和数据检索。

{/* truncate */}

**主要更新如下：**

1. **多字段加权支持：** `match` 函数现在支持对多个字段进行加权，可以根据不同字段的重要性赋予不同的权重。
2. **增强的查询语法：** `query` 函数引入了一系列新的查询语法，使得搜索更加灵活和强大。具体支持的查询语法包括：
   - **简单搜索**：允许直接通过字段进行搜索，例如 `title:quick` 。
   - **布尔运算符**：支持使用 AND、OR 逻辑运算符进行复合查询，例如 `title:fox AND dog OR cat` 。
   - **必须和否定运算符**：通过使用 `+` 和 `-` 运算符指定某些词必须存在或必须排除，例如 `title:+fox -cat` 。
   - **短语匹配**：支持对完整短语的搜索，如 `title:"quick brown fox"`。
   - **加权的多字段查询**：允许在多个字段上应用不同的权重，如 `title:fox^5 content:dog^2` 。

示例如下：

```sql
> SELECT id, score(), title FROM books WHERE query('title:+设计 -实现') ORDER BY score() DESC;
+------+------------+-------------------------------+
| id   | score()    | title                         |
+------+------------+-------------------------------+
|    6 |  0.7909737 | 前端架构设计                  |
|    4 | 0.69980496 | Rust程序设计（第2版）         |
+------+------------+-------------------------------+
```

如果您想了解更多信息，欢迎联系 [Databend 团队](https://databend.cn/contact-us/)，或查看下面列出的资源。

- [PR #15196 | feat(query): match function support multiple fields with boost](https://github.com/databendlabs/databend/pull/15196)

## Code Corner

一起来探索 Databend 和周边生态中的代码片段或项目。

### 部署文档全面更新

Databend 部署相关英文文档于近日进行了全面的更新，欢迎感兴趣的小伙伴阅读查看，了解 Docker 和集群部署过程中需要注意的各种细节。

> Tips: 中文文档内附相关操作视频，可以切换 docs.databend.cn 进行查看。

<img data-zoom src="https://docs.databend.cn/img/deploy/deploy-cluster-arch.png" className="databendBlogSquareImg"/>

- [Docs | Docker & Local Deployments](https://docs.databend.cn/guides/deploy/deploy/non-production/deploying-local)
- [Docs | Deploying Databend Cluster](https://docs.databend.cn/guides/deploy/deploy/production/metasrv-deploy)

## Highlights

以下是一些值得注意的事件，也许您可以找到感兴趣的内容。

- 支持在 update 和 insert 中使用 cte。
- 原子化 `create table as select`

## What's Up Next

我们始终对前沿技术和创新理念持开放态度，欢迎您加入社区，为 Databend 注入活力。

### 支持 SEQUENCE

SEQUENCE 用于生成唯一数值，可用作表中的主键或其他唯一标识符。

Databend 计划利用 MetaSrv 的内置序列功能，支持创建变更 SEQUENCE 对象以及对应的 `nextval` 等实用函数。

示例如下：

```sql
CREATE OR REPLACE SEQUENCE seq1;
create table t1(a bigint, b string);
insert into t1 values(nextval(seq1), 'b');

SELECT nextval(seq1);
---------
     102
```

[Issue #15180 | feat: CREATE OR REPLACE SEQUENCE](https://github.com/databendlabs/databend/issues/15180)

如果你对这个主题感兴趣，可以尝试解决其中的部分问题或者参与讨论和 PR review。或者，你可以点击 https://link.databend.com/i-m-feeling-lucky 来挑选一个随机问题，祝好运！

## New Contributors

一起认识社区中的新伙伴，Databend 因你们而变得更加美好。

- [@finchxx](https://github.com/finchxx) 完成了 sqllogictests 依赖的更新升级，[#15242](https://github.com/databendlabs/databend/pull/15242) 。
- [@YichiZhang0613](https://github.com/YichiZhang0613) 修复了与代码不一致的注释，[#15229](https://github.com/databendlabs/databend/pull/15229) 。

## Changelog

前往查看 Databend 每日构建的变更日志，以了解开发的最新动态。

地址：https://github.com/databendlabs/databend/releases
