IRPCIndexingDataSource.GetNextObjectsForMIX
Server integration API / specialized internal: not for applications write session
Gets next objects and their data for metadata indexing.
| Service | Indexing data source MFiles.IRPCIndexingDataSource |
|---|---|
| gRPC method | /MFiles.IRPCIndexingDataSource/GetNextObjectsForMIX |
| HTTP (mf-http-grpc) | POST /grpc/v1/get-next-objects-for-mix |
| Request | GetNextObjectsForMIXRequest |
| Response | GetNextObjectsForMIXResponse |
| Book and level | Server integration API, specialized |
| Kind | write |
| Session | Required: the session ID from LogIn in the mfiles-session-id-bin metadata. |
| Idempotent | no |
| Returns metadata structure version | no |
| Streaming | none (unary) |
Remarks
For M-Files components only. Search indexers call it to fetch the next batch for a metadata index. Applications should not call it.
- Requires a vault session with the vault rights
see_all_objectsandsee_deleted_objects.
Request: GetNextObjectsForMIXRequest
Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.
| Field | Type | Description |
|---|---|---|
indexing_request | IndexingRequest | General information about the request. |
indexing_request.options_obsolete | uint32 | Control flags for the request. |
indexing_request.options | INDEXINGREQUESTFLAGS | Control flags for the request. |
indexing_request.options.all | bool | Specifies all flags set; Including any future flags. |
indexing_request.options.accept_modifications | bool | The indexer accepts new and modified objects in the request. |
indexing_request.options.accept_destructions | bool | The indexer accepts destructions of objects in the request. |
indexing_request.options.accept_acl_modifications | bool | The indexer accepts ACL modifications of objects in the request. |
indexing_request.index_name | IndexName | Identifies the index. |
indexing_request.index_name.configuration_name | string | The name of the index configuration. |
indexing_request.index_name.repository_connection | string | Identifies the external repository connection. |
indexing_request.index_name.configuration_type | IndexConfigurationType | The index configuration type (e.g., Shared versus Legacy).Values: INDEX_CONFIGURATION_TYPE_UNKNOWN (0), INDEX_CONFIGURATION_TYPE_LEGACY (1), INDEX_CONFIGURATION_TYPE_SHARED (2), INDEX_CONFIGURATION_TYPE_ANY (3). |
indexing_request.auxiliary_indexer_id | string | If not null, identifies auxiliary indexer that consumes the data. |
indexing_request.partition | IndexerPartition | If set, specifies how to partition the candidate objects for this caller. |
indexing_request.partition.rule | IndexerPartitioningRule | Specifies how the indexing is partitioned. |
indexing_request.partition.id | uint32 | Zero-based identifier of the partition. |
indexing_request.last_indexed_timestamp | LogicalTimestamp | The last indexed logical timestamp. Ignored if its type is LOGICAL_TIMESTAMP_TYPE_IGNORED. |
indexing_request.last_indexed_timestamp.type | LogicalTimestampType | Logical timestamp type.Values: LOGICAL_TIMESTAMP_TYPE_UNINITIALIZED (0), LOGICAL_TIMESTAMP_TYPE_IGNORED (1), LOGICAL_TIMESTAMP_TYPE_INTEGER (2), LOGICAL_TIMESTAMP_TYPE_STRING (3), LOGICAL_TIMESTAMP_TYPE_INTEGER_AND_STRING (4). |
indexing_request.last_indexed_timestamp.data | LogicalTimestampUnion | The data as a union. |
indexing_request.last_change_tracking_timestamp | LogicalTimestamp | Change Tracking version from last indexed logical timestamp. |
indexing_request.last_change_tracking_timestamp.type | LogicalTimestampType | Logical timestamp type.Values: LOGICAL_TIMESTAMP_TYPE_UNINITIALIZED (0), LOGICAL_TIMESTAMP_TYPE_IGNORED (1), LOGICAL_TIMESTAMP_TYPE_INTEGER (2), LOGICAL_TIMESTAMP_TYPE_STRING (3), LOGICAL_TIMESTAMP_TYPE_INTEGER_AND_STRING (4). |
indexing_request.last_change_tracking_timestamp.data | LogicalTimestampUnion | The data as a union. |
indexing_request.indexer_location | IndexerLocation | Defines if indexer making the request is of type internal (legacy) or external.Values: INDEXER_LOCATION_UNINITIALIZED (0), INDEXER_LOCATION_LEGACY (1), INDEXER_LOCATION_EXTERNAL (2). |
last_for_mix | ObjID | Last indexed object ID. If unset, ignored. |
last_for_mix.type | int32 | The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID). |
last_for_mix.item_id | ItemID | The ID of the object within its type, in item_id.internal_id. |
last_for_mix.item_id.internal_id | int32 | The ID of the object or value list item. |
last_for_mix.item_id.external_repository_id | ExternalRepositoryID | Used only for objects in external repositories (external connectors). Leave it unset for objects stored in the vault. |
count | uint32 | The number of objects requested. |
Response: GetNextObjectsForMIXResponse
Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.
| Field | Type | Description |
|---|---|---|
objects[] | repeated ObjIDInfoForMIX | The ID information of the objects for metadata indexing. If an empty array is returned, no more objects are available. |
objects[].obj_id | ObjID | Object ID. |
objects[].obj_id.type | int32 | The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID). |
objects[].obj_id.item_id | ItemID | The ID of the object within its type, in item_id.internal_id. |
objects[].is_destroyed | bool | True if the object has been destroyed and is no longer available. If true then only the objid member is valid. |
objects[].relevance_score | float | Relevance score of the object. |
objects[].checked_out_version | ObjVerVersion | The version that is currently checked out, or uninitialized if the object is not checked out. |
objects[].checked_out_version.type | ObjVerVersionType | What internal_version means. OBJ_VER_VERSION_TYPE_SPECIFIC for a version number.Values: OBJ_VER_VERSION_TYPE_UNINITIALIZED (0), OBJ_VER_VERSION_TYPE_LATEST (1), OBJ_VER_VERSION_TYPE_ANY (2), OBJ_VER_VERSION_TYPE_ALL (3), OBJ_VER_VERSION_TYPE_SPECIFIC (4), OBJ_VER_VERSION_TYPE_VALUE_LIST_ITEM (6), OBJ_VER_VERSION_TYPE_OBJECT_LEVEL_REFERENCE (7). |
objects[].checked_out_version.internal_version | int32 | The version number, starting from 1, when type is OBJ_VER_VERSION_TYPE_SPECIFIC. The server returns -1 with OBJ_VER_VERSION_TYPE_LATEST. |
objects[].checked_out_version.external_repository_version | string | Used only for objects in external repositories. Leave empty. |
objects[].checked_out_version.external_repository_sort_key | int64 | Used only for objects in external repositories. Leave 0. |
objects[].latest_checked_in_version | ObjVerVersion | The latest version that is checked in, or uninitialized if the object has no checked-in version. |
objects[].latest_checked_in_version.type | ObjVerVersionType | What internal_version means. OBJ_VER_VERSION_TYPE_SPECIFIC for a version number.Values: OBJ_VER_VERSION_TYPE_UNINITIALIZED (0), OBJ_VER_VERSION_TYPE_LATEST (1), OBJ_VER_VERSION_TYPE_ANY (2), OBJ_VER_VERSION_TYPE_ALL (3), OBJ_VER_VERSION_TYPE_SPECIFIC (4), OBJ_VER_VERSION_TYPE_VALUE_LIST_ITEM (6), OBJ_VER_VERSION_TYPE_OBJECT_LEVEL_REFERENCE (7). |
objects[].latest_checked_in_version.internal_version | int32 | The version number, starting from 1, when type is OBJ_VER_VERSION_TYPE_SPECIFIC. The server returns -1 with OBJ_VER_VERSION_TYPE_LATEST. |
objects[].latest_checked_in_version.external_repository_version | string | Used only for objects in external repositories. Leave empty. |
objects[].latest_checked_in_version.external_repository_sort_key | int64 | Used only for objects in external repositories. Leave 0. |
objects[].version_for_mix | LogicalTimestamp | Logical timestamp for indexing. |
objects[].version_for_mix.type | LogicalTimestampType | Logical timestamp type.Values: LOGICAL_TIMESTAMP_TYPE_UNINITIALIZED (0), LOGICAL_TIMESTAMP_TYPE_IGNORED (1), LOGICAL_TIMESTAMP_TYPE_INTEGER (2), LOGICAL_TIMESTAMP_TYPE_STRING (3), LOGICAL_TIMESTAMP_TYPE_INTEGER_AND_STRING (4). |
objects[].version_for_mix.data | LogicalTimestampUnion | The data as a union. |
objects[].checked_out_to | int32 | The user ID to which the object has been checked out. Zero if not checked out. |
objects[].checked_out_to_host_name | string | The computer name to which the object has been checked out. Empty if not checked out. |
objects[].object_flags | ITEMFLAGS | Bit flags that provide additional information on the object (e.g. is the object deleted). |
objects[].object_flags.all | bool | Specifies all flags set; Including any future flags. |
objects[].object_flags.is_shortcut | bool | Is the item a stub (refers to a full object in another vault). This could be link object or symbolic link. |
objects[].object_flags.is_deleted | bool | Is the item deleted. The flag is not persistent in the database. |
objects[].object_flags.is_accessed_by_valid | bool | Is the Recently Accessed By field valid (field can be valid and zero if user hasn't accessed the object). The flag is not persistent in the database. |
objects[].object_flags.has_shared_files | bool | Does the item have shared files. The flag is not persistent in the database. |
objects[].object_flags.is_conflict_object | bool | Is the item a conflict object. |
objects[].object_flags.is_normal | bool | Is a normal object i.e. no flags. This has the same meaning as ITEMFLAG_NONE (or actually no flags of ITEMFLAGS_BITMASK_SPECIALFLAGS). This flag allows us to combine all flags by using bitwise OR without losing information. The flag is not persistent in the database. |
objects[].object_flags.is_view | bool | Is a view object? View objects are objects which represents view folders but can have metadata associated with. They act as shortucts to the actual views when found e.g. through quick search. |
objects[].object_flags.has_external_data | bool | The object has external data associated with it, for example a promoted object. Not set for objects that are only linked with an external file source. |
objects[].object_flags.is_referred_external_object | bool | Is an unmanaged reduced object type item. |
objects[].object_flags.is_external_origin | bool | Is object type item from an external origin. The flag is not persistent in the database. |
objects[].object_flags.is_omitted_from_database | bool | Is object omitted from database. For example, a basic tier object. |
objects[].object_flags.is_draft | bool | Is the object a pending-upload draft (created checked out; file content not yet committed). Persisted. |
objects[].last_modified_for_indexing_at_utc | google.protobuf.Timestamp | The last modified timestamp for indexing. |
objects[].external_obj_id | ObjID | An external object ID, if any, in some other system/repository/vault. Externality is seen quite widely, external to the object ID specified by objid. Useful e.g. when the objid member represents an unmanaged object ID because then objidExternal can represent the managed ID of the corresponding object in the vault. |
objects[].external_obj_id.type | int32 | The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID). |
objects[].external_obj_id.item_id | ItemID | The ID of the object within its type, in item_id.internal_id. |
data[] | repeated ObjVerDataForMIX | The data of the object versions. Can have more entries than objects (several versions per object); the versions of one object are consecutive. |
data[].object_info | ObjVerInfoForMIX | Object version info. |
data[].object_info.obj_ver | ObjVer | Object version. |
data[].object_info.is_skipped | bool | True if the object has been skipped and cannot be indexed. If true then only the objid inside objver is valid. |
data[].object_info.external_id_status | ExtIDStatus | The status of this object's external ID.Values: EXT_IDSTATUS_UNKNOWN (0), EXT_IDSTATUS_EXTERNAL (1), EXT_IDSTATUS_INTERNAL (2), EXT_IDSTATUS_DISCARDED (3), EXT_IDSTATUS_NOT_AVAILABLE (4), EXT_IDSTATUS_EXTERNAL_REDUCED (5). |
data[].object_info.external_id | string | The external ID (display ID) of this object. unset means that the external ID is the same as the internal ID. |
data[].object_info.original_obj_id | ObjID | The original objid in the vault in which the object was originally created. |
data[].object_info.files[] | repeated File | Object files. |
data[].object_info.updated_files[] | repeated FileID | The IDs of the updated object files. |
data[].object_info.acl | AccessControlList | The version ACL. |
data[].object_version | ObjectVersionEx | If not null contains the basic object version information. The search results are returned from the server using this information with external content repositories. |
data[].object_version.version_info | ObjectVersion | Object Version information. |
data[].object_version.object_info | ObjectLevelInfo | Object-level information. |
data[].properties[] | repeated PropertyValue | The property values of the object version. |
data[].properties[].property_def | int32 | The property definition ID, for example 0 for "Name or title" or 100 for "Class". |
data[].properties[].value | TypedValue | The value. Its type must match the data type of the property definition. |
data[].version_comment | PropertyValue | The version comment history of the object version. |
data[].version_comment.property_def | int32 | The property definition ID, for example 0 for "Name or title" or 100 for "Class". |
data[].version_comment.value | TypedValue | The value. Its type must match the data type of the property definition. |
data[].repository_path | FolderArray | If not null contains the array of folders describing the repository path to the object version location. |
data[].repository_path.value[] | repeated Folder | Array of Folder structures. |
data[].all_editors_history | PropertyValue | DISTINCT user IDs (VALUELIST_USERS) from PROPERTYDEF_LASTMODIFIEDBY and PROPERTYDEF_VERSION_EDITORS across every checked-in version of this object up to and including this version, represented as MSLOOKUP from VALUELIST_USERS. Empty when the AINO-246 feature flag is off, when this entry is a skipped/destroyed placeholder, or when this object version has no editors in the vault tables yet. |
data[].all_editors_history.property_def | int32 | The property definition ID, for example 0 for "Name or title" or 100 for "Class". |
data[].all_editors_history.value | TypedValue | The value. Its type must match the data type of the property definition. |
last_seen_obj_id | ObjID | Last seen object ID. Currently relevant for combined indexer only. |
last_seen_obj_id.type | int32 | The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID). |
last_seen_obj_id.item_id | ItemID | The ID of the object within its type, in item_id.internal_id. |
last_seen_obj_id.item_id.internal_id | int32 | The ID of the object or value list item. |
last_seen_obj_id.item_id.external_repository_id | ExternalRepositoryID | Used only for objects in external repositories (external connectors). Leave it unset for objects stored in the vault. |
last_seen_version_for_mix | LogicalTimestamp | Last seen logical timestamp within the returned objects or the timestamp after trying to fetch the batch even if no objects were returned (relevant for indexing external repositories). |
last_seen_version_for_mix.type | LogicalTimestampType | Logical timestamp type.Values: LOGICAL_TIMESTAMP_TYPE_UNINITIALIZED (0), LOGICAL_TIMESTAMP_TYPE_IGNORED (1), LOGICAL_TIMESTAMP_TYPE_INTEGER (2), LOGICAL_TIMESTAMP_TYPE_STRING (3), LOGICAL_TIMESTAMP_TYPE_INTEGER_AND_STRING (4). |
last_seen_version_for_mix.data | LogicalTimestampUnion | The data as a union. |
last_seen_version_for_mix.data.integer | LogicalTimestampInteger (oneof data) | Logical timestamp as an int64 vector. |
last_seen_version_for_mix.data.string | LogicalTimestampString (oneof data) | String. |
last_seen_version_for_mix.data.integer_and_string | LogicalTimestampIntegerAndString (oneof data) | Integer and string. |