I've been trying to run a single query where I find multiple documents by a list of document ids. I found out you can find multiple documents by an array by using Query.search, if the attribute has an index with fulltext as type. So in order to find multiple documents I want to add a fulltext index on the $id field. When I try to add this index I get this error back:
{
"message": "Invalid `key` param: Parameter must contain at most 36 chars. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char",
"code": 400,
"type": "general_argument_invalid",
"version": "1.4.7"
}
Is it in any way possible to do query with an array as input?
first of all, if you want to filter by document ids, you don't need Query.search(). You can use Query.equal('$id', [id1, id2, id3]).
secondly, when you tried creating your index, what did you put as the key?
Ahh, now I feel stupid. But thank you, that works 😅 My input when creating the index was:
{
"key":"$id",
"type":"fulltext",
"attributes":[],
"orders":["ASC"]
}
ya, $id is now allowed for key. FYI, key is just a name for you. the important part in creating indexes is included the attributes in the attributes array
Ah, that makes sense. Thank you!
[SOLVED] Unable to add fulltext index to $id field
Recommended threads
- Relation Question
How do I create a relation from table y to an others x.$id. in my example I have a users table where I use Appwrites unique User IDs and I want other tables fo...
- Unknown attribute type: varchar / text
Since the `string` type is deprecated I tried using `varchar` and `text` in some newer tables, but when running `appwrite pull tables && appwrite types ./src/li...
- Query.search limitation
Since `string` is deprecated I used `varchar`, and now I cant use `Query.contains` , so I setup fulltext index and started using `Query.search` the issue is `Qu...