@@ -1294,6 +1294,75 @@ def add_ttl_index(
12941294
12951295 return self ._add_index (data )
12961296
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+
12971366 def delete_index (self , index_id : str , ignore_missing : bool = False ) -> Result [bool ]:
12981367 """Delete an index.
12991368
0 commit comments