private void CreateBulkContentForParentDocument(EntityContextInfo entityInfo, ElasticsearchMapping elasticsearchMapping)
        {
            _elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();
            _elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName("index");
            // Write the batch "index" operation header
            _elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();
            WriteValue("_index", elasticsearchMapping.GetIndexForType(entityInfo.EntityType));
            WriteValue("_type", elasticsearchMapping.GetDocumentType(entityInfo.EntityType));
            WriteValue("_id", entityInfo.Id);
            if (entityInfo.RoutingDefinition.ParentId != null && _elasticsearchSerializerConfiguration.ProcessChildDocumentsAsSeparateChildIndex)
            {
                // It's a document which belongs to a parent
                WriteValue("_parent", entityInfo.RoutingDefinition.ParentId);
            }
            if (entityInfo.RoutingDefinition.RoutingId != null &&
                _elasticsearchSerializerConfiguration.UserDefinedRouting)
            {
                // It's a document which has a specific route
                WriteValue("_routing", entityInfo.RoutingDefinition.RoutingId);
            }
            _elasticsearchCrudJsonWriter.JsonWriter.WriteEndObject();
            _elasticsearchCrudJsonWriter.JsonWriter.WriteEndObject();
            _elasticsearchCrudJsonWriter.JsonWriter.WriteRaw("\n"); //ES requires this \n separator
            _elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();

            elasticsearchMapping.MapEntityValues(entityInfo, _elasticsearchCrudJsonWriter, true);

            _elasticsearchCrudJsonWriter.JsonWriter.WriteEndObject();
            _elasticsearchCrudJsonWriter.JsonWriter.WriteRaw("\n");
        }
Exemple #2
0
 private void ProccessPropertyMappingsWithoutTypeName(ElasticsearchCrudJsonWriter elasticsearchCrudJsonWriter, EntityContextInfo entityInfo, ElasticsearchMapping elasticsearchMapping)
 {
     //"properties": {
     elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName("properties");
     elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();
     elasticsearchMapping.MapEntityValues(entityInfo, elasticsearchCrudJsonWriter, true, CreatePropertyMappings);
     elasticsearchCrudJsonWriter.JsonWriter.WriteEndObject();
 }
        private void CreateBulkContentForParentDocument(EntityContextInfo entityInfo, ElasticsearchMapping elasticsearchMapping)
        {
            _elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();
            _elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName("index");
            // Write the batch "index" operation header
            _elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();
            WriteValue("_index", elasticsearchMapping.GetIndexForType(entityInfo.EntityType));
            WriteValue("_type", elasticsearchMapping.GetDocumentType(entityInfo.EntityType));
            WriteValue("_id", entityInfo.Id);
            if (entityInfo.RoutingDefinition.ParentId != null && _elasticsearchSerializerConfiguration.ProcessChildDocumentsAsSeparateChildIndex)
            {
                // It's a document which belongs to a parent
                WriteValue("_parent", entityInfo.RoutingDefinition.ParentId);
            }
            if (entityInfo.RoutingDefinition.RoutingId != null &&
                _elasticsearchSerializerConfiguration.UserDefinedRouting)
            {
                // It's a document which has a specific route
                WriteValue("_routing", entityInfo.RoutingDefinition.RoutingId);
            }
            _elasticsearchCrudJsonWriter.JsonWriter.WriteEndObject();
            _elasticsearchCrudJsonWriter.JsonWriter.WriteEndObject();
            _elasticsearchCrudJsonWriter.JsonWriter.WriteRaw("\n"); //ES requires this \n separator
            _elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();

            elasticsearchMapping.MapEntityValues(entityInfo, _elasticsearchCrudJsonWriter, true);

            _elasticsearchCrudJsonWriter.JsonWriter.WriteEndObject();
            _elasticsearchCrudJsonWriter.JsonWriter.WriteRaw("\n");
        }
		private void ProccessPropertyMappingsWithoutTypeName(ElasticsearchCrudJsonWriter elasticsearchCrudJsonWriter, EntityContextInfo entityInfo, ElasticsearchMapping elasticsearchMapping)
		{
			//"properties": {
			elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName("properties");
			elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();
			elasticsearchMapping.MapEntityValues(entityInfo, elasticsearchCrudJsonWriter, true, CreatePropertyMappings);
			elasticsearchCrudJsonWriter.JsonWriter.WriteEndObject();
		}