Sphinx混合了来自不同文档的内容

时间:2018-12-05 08:45:21

标签: sphinx

我有一个Sphinx发行版,其中给出了许多逻辑错误。当我使用插入的字符串检查返回的内容时,我有很多不同之处。因此,Sphinx在很多情况下都不会返回我插入的内容。

此外,当我插入文档1和文档2时,Sphinx有时会返回文档1中文档2的内容,反之亦然...

在生产稳定版本中这怎么可能...?

我使用Sphinx 2.2.9-id64-release

Sphinx的配置如下所示:

index RT2455
{
  type            = rt
  path            = /mnt/data001/RT2455
  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
}

可能是这种情况吗? 也许我应该将rt_attr_string内容重命名为其他内容?因为,在INSERT中,我只指定一次内容(如果我两次指定,Sphinx将不接受)。因此,它会自动用相同的字符串填充rt_fieldrt_attr_string。也许这是发生错误的地方?因为搜索会返回正确的文档,但是具有完全不同的代码段(该代码段是从rt_attr_string内容列生成的,应该与rt_attr_field列相同?...

我已经做了更多研究,似乎Sphinx有时会使用可搜索(索引)的rt_field列来从中构建摘要。可能吧……这当然是不想要的行为,但这就是目前的样子

0 个答案:

没有答案