c ++ Sphinx rt_attr_string截断数据

时间:2018-11-15 22:18:23

标签: sphinx

我将文档内容插入rt_attr_string字段中。我已将max_packet_size声明为128M

但是,我的5075850个字符输入字符串被截断为881546个字符的字符串。这怎么可能?我该如何克服这种意外行为?我已经检查了插入的字符串。它们包含a-Z, 0-9_ ;?

之间的有效字符。

因此,为什么狮身人面像的行为如此?执行insert语句后直接查询查询的值。因此,Sphinx似乎有问题吗?

我已经记录了查询和查询的值,可以在此file

中看到

请注意,我插入加密值,因为这是我的项目中的要求。我的软件完全能够保留Sphinx的所有功能,但这似乎与Sphinx有关,因为插入值与Sphinx返回的值不同吗?

我的索引的配置是:

index Test
{
  type            = rt
  path            = /mnt/data001/Test
  rt_field        = Name
  rt_field        = Extension
  rt_field        = Content
  rt_field        = Tags
  rt_attr_uint    = Reference
  rt_attr_uint    = FileSize
  rt_attr_uint    = LastModified
  rt_attr_uint    = LastModifiedYear
  rt_attr_uint    = LastModifiedMonth
  rt_attr_uint    = LastModifiedDay
  rt_attr_string  = Content
  rt_mem_limit    = 1024M
  charset_table   = A..Z, a..z, 0..9, _, ;, %
  ondisk_attrs    = pool
}

searchd
{
  listen                = 9306:mysql41
  log                   = /var/log/sphinxsearch/searchd.log
  read_timeout          = 5
  max_children          = 30
  pid_file              = /var/run/searchd.pid
  max_packet_size       = 128M
  binlog_path           = /mnt/data001
}

0 个答案:

没有答案