Search code examples
databaseindexingfull-text-searchsearch-enginesphinx

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


Got this when tried to index table in database with 25GB of data. Sphinx contains index declaration with following fields:

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     

All of them must be indexed.
How solve this problem?

Multiple indexes or distributed indexes are really painful solutions.


Solution

  • There is no solution for your problem for now.

    There are several workarounds:

    • use distributed index
    • make your attrs full text fields (but it makes them "unselectable")
    • search in sphinx and query to database for this attrs (2 queries with all disadvantages)

    You can choose less painful workaround or switch to another search engine...