Documentation for limits & my specific use case


#1

Howdy guys,

Came across this interesting project and searched the site for detailed documentation around limits but was not able to locate, probably user error :slight_smile: Hoping this is a good place to ask questions… below for starters:

Specifically after limit of fields per index, max field size, handling of nulls, batch limits… whilst on the subject also wanted to ask if manticore is ACID compliant & do all documents in an index “commit in a transaction”? Is searching case insensitive etc.

My use case is to index 15 million rows of JSONB data (simple key value structure) from PostgreSQL. I need begins with, ends with, contains, range queries for datetime & double, also support for boolean, nulls etc.

Thx.


#2

String/JSON attributes have a limit of 4MB per value. Also there’s a known limitation of string/json attributes to 4GB per index (this is just for stored strings, not full-text fields). There is no NULL support yet, null values gets converted to empty. Also boolean is a 1-byte int (same for the timestamp field - it’s for epoch ints - there are some date time functions).
RealTime indexes support transactions.
The JSON attribute doesn’t support full-text searching. On string properties you use the newly REGEX function. If you need full-text searching, you’ll have to extract the texts from the JSON and add them to full-text fields (a more schemaless approach is to use a single full-text field with ZONEs).
Search is case insensitive by default, check charset_table setting - by default there’s a mapping A…Z->a…z.