用MySQL构建倒排索引系统

jam*_*mes 4 mysql

我正在构建一个需要大量搜索查询的移动服务.

该服务基于MySQL数据系统,搜索查询不足以提供快速搜索服务.

因此,我决定使用倒排索引系统:

index    Documents
1        a, b, c, d, e, f, g, h
2        c, k, i, j, k
Run Code Online (Sandbox Code Playgroud)

这是倒立索引系统的简单结构.

我假设一行会有超过一千个文件.

我不确定我应该在"文档"专栏中使用哪种类型和长度?

我现在选择了VARCHAR(100000).是否可以设置长度如9999999?

Taz*_*Taz 10

  1. 数据结构:

    index document
      1      a
      1      b
      1      c
     ...
      2      c
      2      k
    
    Run Code Online (Sandbox Code Playgroud)

    index类型INT,document类型CHAR(1).主键设置indexdocument.

    使用此数据结构,查询将执行得非常快.
    顺便说一下,我建议的结构是标准化的.

  2. 从MySQL 5.0参考手册(CHARVARCHAR类型):

[...] VARCHAR[...]长度可以指定为MySQL 5.0.3之前的0到255之间的值,5.0.3及更高版本中的0到65,535之间的长度.