c ++ Sphinx rt_attr_string усекает данные - PullRequest
0 голосов
/ 16 ноября 2018

Я вставляю содержимое моих документов в поле rt_attr_string.Я объявил max_packet_size как 128M.

Однако моя строка ввода 5075850 символов усекается до строки 881546 символов.Как это возможно и как я могу преодолеть это неожиданное поведение?Я уже проверил вставленные строки.Они содержат допустимые символы от a-Z, 0-9 до _ ; или ?

. Почему Сфинкс ведет себя так?Запрашиваемое значение напрямую запрашивается после выполнения оператора вставки.Следовательно, кажется, что у Sphinx есть некоторые проблемы?

Я зарегистрировал запрос и запрошенные значения, которые можно увидеть в этом файле

Обратите внимание, я вставляю зашифрованные значения, так как это требование в моем проекте.Мое программное обеспечение прекрасно поддерживает все функции 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
}
...