# Manticore 3.4.0: online schema change, new PHP client and docker image

我们很高兴地宣布Manticore Search 3.4.0的发布。下载地址为[here](https://manticoresearch.com/downloads/)，Docker镜像可在[Docker Hub](https://hub.docker.com/r/manticoresearch/manticore)获取。

新功能
-------

---


  
  
### 无需编辑配置即可在线管理索引

在3.3.0版本中，我们曾提到CREATE TABLE和DROP TABLE处于alpha阶段。在此次发布中，我们宣布以下功能已就绪：
- [CREATE TABLE [LIKE]](https://docs.manticoresearch.com/latest/html/sphinxql_reference/create_table_syntax.html)
- [SHOW CREATE TABLE](https://docs.manticoresearch.com/latest/html/sphinxql_reference/show_create_table_syntax.html)
- [DROP TABLE](https://docs.manticoresearch.com/latest/html/sphinxql_reference/drop_table_syntax.html)
- [ALTER TABLE](https://docs.manticoresearch.com/latest/html/sphinxql_reference/alter_syntax.html)
- [TRUNCATE TABLE](https://docs.manticoresearch.com/latest/html/sphinxql_reference/truncate_rtindex_syntax.html)
- [IMPORT TABLE FROM](https://docs.manticoresearch.com/latest/html/sphinxql_reference/import_table_syntax.html)

这些命令及相关功能现已准备好在您的应用中使用。这使您不仅能控制数据，还能控制索引。现在添加、更新或删除索引变得简单。另一种需要在配置文件中定义索引模式的方式仍然完全可用且受支持，并且仍然有意义（例如：从外部存储同步数据：MySQL / PostgreSQL / CSV等）。

我们创建了一个交互式课程，将向您展示如何使用上述命令。

[了解新模式的课程](https://play.manticoresearch.com/rtmode/)  
  
### [新的PHP客户端](https://github.com/manticoresoftware/manticoresearch-php)

我们很高兴为您带来Manticore Search的新官方PHP客户端。

与旧客户端相比，新客户端：
- 使用HTTP协议而非SphinxAPI
- 专为PHP 7+设计
- 支持Composer
- 支持连接池和故障转移策略
- 提供不仅用于搜索，还用于数据操作和索引/节点/集群管理的方法
- 可使用PSR日志记录器

[了解更多关于新PHP客户端的信息](https://github.com/manticoresoftware/manticoresearch-php)  
  
### [新的Docker镜像](https://github.com/manticoresoftware/docker)

我们发布了全新的Docker镜像，包含以下功能：
- 默认使用新的在线模式变更模式。即使您没有任何配置，也可以使用Docker镜像，包括生产环境
- 内置MySQL客户端。您现在无需在主机上安装它。只需运行：
    
```bash
    docker run --name manticore --rm -d manticoresearch/manticore && docker exec -it manticore mysql -w && docker stop manticore
    
```
- 如果您随后执行
    
```bash
    source /sandbox.sql
    
```
    
    它将创建一个测试索引，并通过上下箭头键浏览一些示例查询
- docker-compose示例，展示在生产环境中推荐的使用方式
- 复制示例

[了解更多关于新Docker镜像的信息](https://hub.docker.com/r/manticoresearch/manticore)  
  
### 仅存储字段

现在您可以拥有仅存储但不进行全文索引的字段。当您希望将某些内容存储在最终结果集中，但又不想：
- 进行全文索引，从而避免增加字典大小和索引时间
- 仅为了节省RAM而将其作为字符串属性保留在内存中

典型使用场景包括：
- 对于文档的标题/正文，使用索引+存储，以便在字段中查找并立即突出显示/显示结果
- 对于文档的URL，仅存储，因为几乎没有必要通过URL进行搜索并突出显示
- 对于标签/颜色/尺寸，使用字符串属性以便按其过滤并进行面向属性的搜索

[在线尝试](https://play.manticoresearch.com/docstore/)  
  
### 注意：实时索引的全文字段现在默认为“存储”。

### 从3.4.0版本开始，实时索引的全文字段默认为“存储”，这使得您添加到Manticore Search的所有数据默认以原始形式可用。Manticore Search可以作为独立数据库使用的情况很多，因此我们更改了默认设置。

[查看其工作方式](https://play.manticoresearch.com/rtintro/)  
  
### 所有语言的分词处理

  
  
#### 现在大多数语言默认分词处理良好。

另一个更改的默认设置是*charset_table*。之前它仅包含数字、拉丁字母和西里尔字母。从本版本开始，它包含[大多数语言](https://www.unicode.org/cldr/charts/latest/supplemental/languages_and_scripts.html)的代码，因此在大多数情况下，您根本无需担心它。
  
  
### HTTP /sql端点

  
  
#### 现在所有SQL语句都通过HTTP支持。

[HTTP协议](https://docs.manticoresearch.com/latest/html/httpapi_reference.html)的/sql端点现在支持所有SphinxQL语句，这些语句否则只能通过MySQL协议使用。
  
  
### 注意：从3.4.0版本开始，复制功能不能与索引的配置内模式混合使用。​

复制功能一直仅支持实时索引，并且对其实现的管理一直可以在不更新配置的情况下在线进行。
由于我们新增了可以在线管理模式的功能，因此我们决定将复制功能仅支持新模式。现在操作变得简单明了：

```bash
CREATE TABLE -> `CREATE CLUSTER -> ALTER CLUSTER ... ADD

```
无需去编辑配置来添加每个新索引。
[Manticore复制功能的在线课程](https://play.manticoresearch.com/replication/)  
  
### COVID-19疫情

我们所有人都面临着与COVID-19相关的前所未有的情况。我们希望您和您所爱的人安全健康，并且现在比以往任何时候都更加重要的是远程合作。

Manticore Software 核心团队一直在世界各地远程工作，因此，我们的正常工作流程完全不受情况的影响。我们继续做我们以前做的事情，不断改进我们的产品并支持我们的客户。

照顾好自己和你所爱的人！
