title: development/cirrussearch/update_pipeline/update description: Internal event for page updates handled by CirrusSearch $id: /development/cirrussearch/update_pipeline/update/1.0.0 $schema: 'https://json-schema.org/draft-07/schema#' type: object additionalProperties: false required: - $schema - change_type - cirrussearch_cluster_group - cirrussearch_index_name - dt - meta - namespace_id - page_id properties: $schema: description: > A URI identifying the JSONSchema for this event. This should match an schema's $id in a schema repository. E.g. /schema/title/1.0.0 type: string change_type: type: string enum: - PAGE_DELETE - PAGE_RERENDER - PAGE_RERENDER_UPSERT - REDIRECT_UPDATE - REV_BASED_UPDATE - TAGS_UPDATE cirrussearch_cluster_group: description: The elastic search cluster group type: string minLength: 1 cirrussearch_fetched_at: description: UTC event datetime in ISO-8601 format type: string format: date-time maxLength: 128 cirrussearch_index_name: description: The elastic search index name type: string minLength: 1 cirrussearch_noop_fields: description: >- Overrides of the fields object for the elastic search super-detect-noop plugin. type: object additionalProperties: false properties: redirect: type: object additionalProperties: false properties: add: type: array items: description: Redirect modeled for CirrusSearch index type: object required: - namespace - title properties: title: description: The normalized title of the page. type: string minLength: 1 namespace: description: The id of the namespace this page belongs to. type: integer maximum: 9007199254740991 minimum: 0 max_size: type: integer maximum: 9007199254740991 minimum: 1 remove: type: array items: description: Redirect modeled for CirrusSearch index type: object required: - namespace - title properties: title: description: The normalized title of the page. type: string minLength: 1 namespace: description: The id of the namespace this page belongs to. type: integer maximum: 9007199254740991 minimum: 0 cirrussearch_noop_hints: description: Handlers for the elastic search super-detect-noop plugin. type: object additionalProperties: type: string domain: description: Domain of the wiki project type: string minLength: 1 dt: description: > ISO-8601 formatted timestamp of when the event occurred/was generated in UTC), AKA 'event time'. This is different than meta.dt, which is used as the time the system received this event. type: string format: date-time maxLength: 128 fields: description: >- Intermediate document from cirrus search for elastic search, see https://www.mediawiki.org/wiki/Extension:CirrusSearch/Schema type: object properties: title: type: string auxiliary_text: type: array items: type: string category: type: array items: type: string content_model: type: string coordinates: type: array items: type: object properties: type: type: string coord: type: object additionalProperties: type: number maximum: 9007199254740991 minimum: -9007199254740991 country: type: string dim: type: integer maximum: 9007199254740991 minimum: 0 globe: type: string name: type: string primary: type: boolean region: type: string create_timestamp: description: UTC event datetime in ISO-8601 format type: string format: date-time maxLength: 128 defaultsort: type: string descriptions: type: object additionalProperties: type: array items: type: string display_title: type: string external_link: type: array items: type: string extra_source: type: string file_bits: type: integer maximum: 9007199254740991 minimum: 0 file_height: type: integer maximum: 9007199254740991 minimum: 0 file_media_type: type: string file_mime: type: string file_resolution: type: integer maximum: 9007199254740991 minimum: 0 file_size: type: integer maximum: 9007199254740991 minimum: 0 file_text: type: string file_width: type: integer maximum: 9007199254740991 minimum: 0 heading: type: array items: type: string incoming_links: type: integer maximum: 9007199254740991 minimum: 0 label_count: type: integer maximum: 9007199254740991 minimum: -9007199254740991 labels: type: object additionalProperties: type: array items: type: string labels_all: type: array items: type: string language: type: string lemma: type: array items: type: string lexeme_forms: type: array items: type: object properties: features: type: array items: type: string id: type: string representation: type: array items: type: string lexeme_language: type: object properties: code: type: string entity: type: string lexical_category: type: string local_sites_with_dupe: type: array items: type: string namespace: type: integer maximum: 9007199254740991 minimum: 0 namespace_text: type: string opening_text: type: string outgoing_link: type: array items: type: string page_id: description: The page ID of the page this revision belongs to. type: integer maximum: 9007199254740991 minimum: 1 popularity_score: type: number maximum: 9007199254740991 minimum: -9007199254740991 redirect: type: array items: description: Redirect modeled for CirrusSearch index type: object required: - namespace - title properties: title: description: The normalized title of the page. type: string minLength: 1 namespace: description: The id of the namespace this page belongs to. type: integer maximum: 9007199254740991 minimum: 0 sitelink_count: type: integer maximum: 9007199254740991 minimum: -9007199254740991 snapshot: type: string source_text: type: string statement_count: type: integer maximum: 9007199254740991 minimum: -9007199254740991 statement_keywords: type: array items: type: string template: type: array items: type: string text: type: string text_bytes: type: integer maximum: 9007199254740991 minimum: 0 timestamp: description: UTC event datetime in ISO-8601 format type: string format: date-time maxLength: 128 version: description: The (database) revision ID. type: integer maximum: 9007199254740991 minimum: 0 weighted_tags: type: array items: type: string wiki: type: string wikibase_item: type: string meta: type: object required: - stream properties: domain: description: Domain the event or entity pertains to type: string minLength: 1 dt: description: 'Time the event was received by the system, in UTC ISO-8601 format' type: string format: date-time maxLength: 128 id: description: Unique ID of this event type: string request_id: description: Unique ID of the request that caused the event type: string stream: description: Name of the stream (dataset) that this event belongs in type: string minLength: 1 uri: description: Unique URI identifying the event or entity type: string format: uri-reference maxLength: 8192 namespace_id: description: The id of the namespace this page belongs to. type: integer maximum: 9007199254740991 minimum: 0 page_id: description: The (database) page ID of the page. type: integer maximum: 9007199254740991 minimum: 0 page_title: description: The normalized title of the page. type: string minLength: 1 rev_id: description: The (database) revision ID. type: integer maximum: 9007199254740991 minimum: 1 wiki_id: description: > The wiki ID, which is usually the same as the MediaWiki database name. E.g. enwiki, metawiki, etc. type: string minLength: 1 examples: - $schema: /development/cirrussearch/update_pipeline/update/1.0.0 change_type: PAGE_DELETE cirrussearch_cluster_group: dolor cirrussearch_fetched_at: '2021-01-01T00:00:00.0Z' cirrussearch_index_name: dolor cirrussearch_noop_fields: redirect: add: - title: dolor namespace: 1351079888211148 max_size: 1351079888211149 remove: - title: dolor namespace: 1351079888211148 cirrussearch_noop_hints: dolorb: dolor domain: dolor dt: '2021-01-01T00:00:00.0Z' fields: title: dolor auxiliary_text: - dolor category: - dolor content_model: dolor coordinates: - type: dolor coord: dolorb: -6305039478318694 country: dolor dim: 1351079888211148 globe: dolor name: dolor primary: false region: dolor create_timestamp: '2021-01-01T00:00:00.0Z' defaultsort: dolor descriptions: dolorb: - dolor display_title: dolor external_link: - dolor extra_source: dolor file_bits: 1351079888211148 file_height: 1351079888211148 file_media_type: dolor file_mime: dolor file_resolution: 1351079888211148 file_size: 1351079888211148 file_text: dolor file_width: 1351079888211148 heading: - dolor incoming_links: 1351079888211148 label_count: -6305039478318694 labels: dolorb: - dolor labels_all: - dolor language: dolor lemma: - dolor lexeme_forms: - features: - dolor id: dolor representation: - dolor lexeme_language: code: dolor entity: dolor lexical_category: dolor local_sites_with_dupe: - dolor namespace: 1351079888211148 namespace_text: dolor opening_text: dolor outgoing_link: - dolor page_id: 1351079888211149 popularity_score: -6305039478318694 redirect: - title: dolor namespace: 1351079888211148 sitelink_count: -6305039478318694 snapshot: dolor source_text: dolor statement_count: -6305039478318694 statement_keywords: - dolor template: - dolor text: dolor text_bytes: 1351079888211148 timestamp: '2021-01-01T00:00:00.0Z' version: 1351079888211148 weighted_tags: - dolor wiki: dolor wikibase_item: dolor meta: domain: dolor dt: '2021-01-01T00:00:00.0Z' id: dolor request_id: dolor stream: dolor uri: 'http://example.org' namespace_id: 1351079888211148 page_id: 1351079888211148 page_title: dolor rev_id: 1351079888211149 wiki_id: dolor definitions: redirect: description: Redirect modeled for CirrusSearch index type: object required: - namespace - title properties: title: description: The normalized title of the page. type: string minLength: 1 namespace: description: The id of the namespace this page belongs to. type: integer maximum: 9007199254740991 minimum: 0 redirect_array: type: array items: description: Redirect modeled for CirrusSearch index type: object required: - namespace - title properties: title: description: The normalized title of the page. type: string minLength: 1 namespace: description: The id of the namespace this page belongs to. type: integer maximum: 9007199254740991 minimum: 0