@@ -1294,6 +1294,75 @@ def add_ttl_index(
1294
1294
1295
1295
return self ._add_index (data )
1296
1296
1297
+ def add_inverted_index (
1298
+ self ,
1299
+ fields : Json ,
1300
+ name : Optional [str ] = None ,
1301
+ inBackground : Optional [bool ] = None ,
1302
+ parallelism : Optional [int ] = None ,
1303
+ primarySort : Optional [Json ] = None ,
1304
+ storedValues : Optional [Sequence [Json ]] = None ,
1305
+ analyzer : Optional [str ] = None ,
1306
+ features : Optional [Sequence [str ]] = None ,
1307
+ includeAllFields : Optional [bool ] = None ,
1308
+ trackListPositions : Optional [bool ] = None ,
1309
+ searchField : Optional [bool ] = None ,
1310
+ ) -> Result [Json ]:
1311
+ """Create a new inverted index, introduced in version 3.10.
1312
+
1313
+ :param fields: Document fields to index.
1314
+ :type fields: Json
1315
+ :param name: Optional name for the index.
1316
+ :type name: str | None
1317
+ :param inBackground: Do not hold the collection lock.
1318
+ :type inBackground: bool | None
1319
+ :param parallelism:
1320
+ :type parallelism: int | None
1321
+ :param primarySort:
1322
+ :type primarySort: Json | None
1323
+ :param storedValues:
1324
+ :type storedValues: Sequence[Json] | None
1325
+ :param analyzer:
1326
+ :type analyzer: str | None
1327
+ :param features:
1328
+ :type features: Sequence[str] | None
1329
+ :param includeAllFields:
1330
+ :type includeAllFields: bool | None
1331
+ :param trackListPositions:
1332
+ :type trackListPositions: bool | None
1333
+ :param searchField:
1334
+ :type searchField: bool | None
1335
+ :return: New index details.
1336
+ :rtype: dict
1337
+ :raise arango.exceptions.IndexCreateError: If create fails.
1338
+ """
1339
+ data : Json = {"type" : "inverted" , "fields" : fields }
1340
+
1341
+ if name is not None :
1342
+ data ["name" ] = name
1343
+ if inBackground is not None :
1344
+ data ["inBackground" ] = inBackground
1345
+ if parallelism is not None :
1346
+ data ["parallelism" ] = parallelism
1347
+ if primarySort is not None :
1348
+ data ["primarySort" ] = primarySort
1349
+ if storedValues is not None :
1350
+ data ["storedValues" ] = storedValues
1351
+ if analyzer is not None :
1352
+ data ["analyzer" ] = analyzer
1353
+ if features is not None :
1354
+ data ["features" ] = features
1355
+ if includeAllFields is not None :
1356
+ data ["includeAllFields" ] = includeAllFields
1357
+ if trackListPositions is not None :
1358
+ data ["trackListPositions" ] = trackListPositions
1359
+ if searchField is not None :
1360
+ data ["searchField" ] = searchField
1361
+ if fields is not None :
1362
+ data ["fields" ] = fields
1363
+
1364
+ return self ._add_index (data )
1365
+
1297
1366
def delete_index (self , index_id : str , ignore_missing : bool = False ) -> Result [bool ]:
1298
1367
"""Delete an index.
1299
1368
0 commit comments