ERROR: index 'products': too many string attributes (current index format allows up to 4 GB)

ERROR: index 'products': too many string attributes (current index format allows up to 4 GB)

尝试在包含 25GB 数据的数据库中索引 table 时得到了这个。 Sphinx 包含具有以下字段的索引声明:

sql_field_string    = field_indexer #some keywords
sql_field_string    = product_name
sql_field_string    = description
sql_attr_float      = price
sql_field_string    = product_url
sql_field_string    = image_url
sql_field_string    = sku
sql_attr_uint       = merchant_id
sql_attr_uint       = network_id     

所有这些都必须编入索引。
如何解决这个问题?

多索引或者分布式索引是非常痛苦的解决方案。

暂时没有解决您的问题的方法。

有几种解决方法:

  • 使用分布式索引
  • 使您的 attrs 全文字段(但它使它们 "unselectable")
  • 在 sphinx 中搜索并查询数据库以获取此属性(2 个查询,所有缺点)

您可以选择不那么痛苦的解决方法或切换到另一个搜索引擎...