IRPCIndexingDataSource.GetNextObjectsForMIX

View as Markdown

Server integration API / specialized internal: not for applications write session

Gets next objects and their data for metadata indexing.

ServiceIndexing data source MFiles.IRPCIndexingDataSource
gRPC method/MFiles.IRPCIndexingDataSource/GetNextObjectsForMIX
HTTP (mf-http-grpc)POST /grpc/v1/get-next-objects-for-mix
RequestGetNextObjectsForMIXRequest
ResponseGetNextObjectsForMIXResponse
Book and levelServer integration API, specialized
Kindwrite
SessionRequired: the session ID from LogIn in the mfiles-session-id-bin metadata.
Idempotentno
Returns metadata structure versionno
Streamingnone (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.

Request: GetNextObjectsForMIXRequest

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

FieldTypeDescription
indexing_requestIndexingRequestGeneral information about the request.
indexing_request.options_obsoleteuint32Control flags for the request.
indexing_request.optionsINDEXINGREQUESTFLAGSControl flags for the request.
indexing_request.options.allboolSpecifies all flags set; Including any future flags.
indexing_request.options.accept_modificationsboolThe indexer accepts new and modified objects in the request.
indexing_request.options.accept_destructionsboolThe indexer accepts destructions of objects in the request.
indexing_request.options.accept_acl_modificationsboolThe indexer accepts ACL modifications of objects in the request.
indexing_request.index_nameIndexNameIdentifies the index.
indexing_request.index_name.configuration_namestringThe name of the index configuration.
indexing_request.index_name.repository_connectionstringIdentifies the external repository connection.
indexing_request.index_name.configuration_typeIndexConfigurationTypeThe 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_idstringIf not null, identifies auxiliary indexer that consumes the data.
indexing_request.partitionIndexerPartitionIf set, specifies how to partition the candidate objects for this caller.
indexing_request.partition.ruleIndexerPartitioningRuleSpecifies how the indexing is partitioned.
indexing_request.partition.iduint32Zero-based identifier of the partition.
indexing_request.last_indexed_timestampLogicalTimestampThe last indexed logical timestamp. Ignored if its type is LOGICAL_TIMESTAMP_TYPE_IGNORED.
indexing_request.last_indexed_timestamp.typeLogicalTimestampTypeLogical 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.dataLogicalTimestampUnionThe data as a union.
indexing_request.last_change_tracking_timestampLogicalTimestampChange Tracking version from last indexed logical timestamp.
indexing_request.last_change_tracking_timestamp.typeLogicalTimestampTypeLogical 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.dataLogicalTimestampUnionThe data as a union.
indexing_request.indexer_locationIndexerLocationDefines 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_mixObjIDLast indexed object ID. If unset, ignored.
last_for_mix.typeint32The 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_idItemIDThe ID of the object within its type, in item_id.internal_id.
last_for_mix.item_id.internal_idint32The ID of the object or value list item.
last_for_mix.item_id.external_repository_idExternalRepositoryIDUsed only for objects in external repositories (external connectors). Leave it unset for objects stored in the vault.
countuint32The 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.

FieldTypeDescription
objects[]repeated ObjIDInfoForMIXThe ID information of the objects for metadata indexing. If an empty array is returned, no more objects are available.
objects[].obj_idObjIDObject ID.
objects[].obj_id.typeint32The 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_idItemIDThe ID of the object within its type, in item_id.internal_id.
objects[].is_destroyedboolTrue if the object has been destroyed and is no longer available. If true then only the objid member is valid.
objects[].relevance_scorefloatRelevance score of the object.
objects[].checked_out_versionObjVerVersionThe version that is currently checked out, or uninitialized if the object is not checked out.
objects[].checked_out_version.typeObjVerVersionTypeWhat 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_versionint32The 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_versionstringUsed only for objects in external repositories. Leave empty.
objects[].checked_out_version.external_repository_sort_keyint64Used only for objects in external repositories. Leave 0.
objects[].latest_checked_in_versionObjVerVersionThe latest version that is checked in, or uninitialized if the object has no checked-in version.
objects[].latest_checked_in_version.typeObjVerVersionTypeWhat 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_versionint32The 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_versionstringUsed only for objects in external repositories. Leave empty.
objects[].latest_checked_in_version.external_repository_sort_keyint64Used only for objects in external repositories. Leave 0.
objects[].version_for_mixLogicalTimestampLogical timestamp for indexing.
objects[].version_for_mix.typeLogicalTimestampTypeLogical 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.dataLogicalTimestampUnionThe data as a union.
objects[].checked_out_toint32The user ID to which the object has been checked out. Zero if not checked out.
objects[].checked_out_to_host_namestringThe computer name to which the object has been checked out. Empty if not checked out.
objects[].object_flagsITEMFLAGSBit flags that provide additional information on the object (e.g. is the object deleted).
objects[].object_flags.allboolSpecifies all flags set; Including any future flags.
objects[].object_flags.is_shortcutboolIs the item a stub (refers to a full object in another vault). This could be link object or symbolic link.
objects[].object_flags.is_deletedboolIs the item deleted. The flag is not persistent in the database.
objects[].object_flags.is_accessed_by_validboolIs 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_filesboolDoes the item have shared files. The flag is not persistent in the database.
objects[].object_flags.is_conflict_objectboolIs the item a conflict object.
objects[].object_flags.is_normalboolIs 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_viewboolIs 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_databoolThe 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_objectboolIs an unmanaged reduced object type item.
objects[].object_flags.is_external_originboolIs object type item from an external origin. The flag is not persistent in the database.
objects[].object_flags.is_omitted_from_databaseboolIs object omitted from database. For example, a basic tier object.
objects[].object_flags.is_draftboolIs the object a pending-upload draft (created checked out; file content not yet committed). Persisted.
objects[].last_modified_for_indexing_at_utcgoogle.protobuf.TimestampThe last modified timestamp for indexing.
objects[].external_obj_idObjIDAn 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.typeint32The 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_idItemIDThe ID of the object within its type, in item_id.internal_id.
data[]repeated ObjVerDataForMIXThe data of the object versions. Can have more entries than objects (several versions per object); the versions of one object are consecutive.
data[].object_infoObjVerInfoForMIXObject version info.
data[].object_info.obj_verObjVerObject version.
data[].object_info.is_skippedboolTrue 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_statusExtIDStatusThe 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_idstringThe 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_idObjIDThe original objid in the vault in which the object was originally created.
data[].object_info.files[]repeated FileObject files.
data[].object_info.updated_files[]repeated FileIDThe IDs of the updated object files.
data[].object_info.aclAccessControlListThe version ACL.
data[].object_versionObjectVersionExIf 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_infoObjectVersionObject Version information.
data[].object_version.object_infoObjectLevelInfoObject-level information.
data[].properties[]repeated PropertyValueThe property values of the object version.
data[].properties[].property_defint32The property definition ID, for example 0 for "Name or title" or 100 for "Class".
data[].properties[].valueTypedValueThe value. Its type must match the data type of the property definition.
data[].version_commentPropertyValueThe version comment history of the object version.
data[].version_comment.property_defint32The property definition ID, for example 0 for "Name or title" or 100 for "Class".
data[].version_comment.valueTypedValueThe value. Its type must match the data type of the property definition.
data[].repository_pathFolderArrayIf not null contains the array of folders describing the repository path to the object version location.
data[].repository_path.value[]repeated FolderArray of Folder structures.
data[].all_editors_historyPropertyValueDISTINCT 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_defint32The property definition ID, for example 0 for "Name or title" or 100 for "Class".
data[].all_editors_history.valueTypedValueThe value. Its type must match the data type of the property definition.
last_seen_obj_idObjIDLast seen object ID. Currently relevant for combined indexer only.
last_seen_obj_id.typeint32The 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_idItemIDThe ID of the object within its type, in item_id.internal_id.
last_seen_obj_id.item_id.internal_idint32The ID of the object or value list item.
last_seen_obj_id.item_id.external_repository_idExternalRepositoryIDUsed only for objects in external repositories (external connectors). Leave it unset for objects stored in the vault.
last_seen_version_for_mixLogicalTimestampLast 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.typeLogicalTimestampTypeLogical 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.dataLogicalTimestampUnionThe data as a union.
last_seen_version_for_mix.data.integerLogicalTimestampInteger (oneof data)Logical timestamp as an int64 vector.
last_seen_version_for_mix.data.stringLogicalTimestampString (oneof data)String.
last_seen_version_for_mix.data.integer_and_stringLogicalTimestampIntegerAndString (oneof data)Integer and string.