Эластичный поиск Nest - свойство строки обновления карты как не проанализированное

Я пытаюсь нанести на карту MyCode недвижимость в моем объекте (размещена) как NotAnalyzed используя беглый

Я уже рассмотрел: Создание индекса Nest and Nest и Elastic Search - Mapping

{
  "myobject_test" : {
    "mappings" : {
      "myversion" : {
        "properties" : {
          "id" : {
            "type" : "long"
          },
          "isLatest" : {
            "type" : "boolean"
          },
          "maxVersion" : {
            "type" : "long"
          },
          "original" : {
            "properties" : {
              "agent" : {
                "properties" : {
                  "name" : {
                    "type" : "string"
                  },
                  "organizationId" : {
                    "type" : "long"
                  },
                  "version" : {
                    "type" : "long"
                  }
                }
              },
              "agentReference" : {
                "type" : "string"
              },
              "myCode" : {
                "type" : "string"
              },
              "myDate" : {
                "type" : "date",
                "format" : "dateOptionalTime"
              },
              "netWorth" : {
                "type" : "double"
              },
              "objectVersionId" : {
                "type" : "long"
              },
              "myOrganization" : {
                "properties" : {
                  "name" : {
                    "type" : "string"
                  },
                  "organizationId" : {
                    "type" : "long"
                  },
                  "version" : {
                    "type" : "long"
                  }
                }
              },
              "status" : {
                "type" : "long"
              }
            }
          },
          "version" : {
            "type" : "long"
          }
        }
      }
    }
  }
}

Вот как я пытался original это тип BasicInformation)

 client.Map<MyVersion>(x => x
            .Properties(p => p.NestedObject<BasicInformation>(s => s.Name(n => n.Original)
                .Properties(pp => pp.String(ss => ss.Name(nn => nn.MyCode)
                    .Index(FieldIndexOption.NotAnalyzed))))));

Я не могу понять, что я делаю неправильно...

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Класс MyVersion:

public class MyVersion : IMyVersion
{
    private int? _myVersionId;

    public int Id
    {
        get { return _myVersionId.HasValue ? _myVersionId.Value : Original.myVersionId; }
        set
        {
            _myVersionId = value;
        }
    }

    public int Version { get; set; }

    public int MaxVersion { get; set; }

    public BasicInformation Original { get; set; }

    [Obsolete("Used only for deserialization")]
    public MyVersion()
    {

    }

    internal MyVersion(BasicInformation original, int version, int maxVersion)
    {
        Original = original;
        Version = version;
        MaxVersion = maxVersion;
    }

    public bool IsLatest
    {
        get
        {
            return Version == MaxVersion;
        }
    }

    public bool Equals(IMyVersion other)
    {
        return other != null && Id.Equals(other.Id);
    }

}

Да, это JSON после картирования. Кроме того, я проверяю, правильно ли сопоставление с тестом.

var mapping = ElasticClient.GetMapping<MyVersion>();
        var basicInformationMapping = mapping.Mappings[TEST_INDEX_NAME][0].Mapping.Properties[PropertyNameMarker.Create("original")] as
            ObjectMapping;
        var myCodeMapping =
            basicInformationMapping.Properties[PropertyNameMarker.Create("myCode")] as StringMapping;
        Assert.IsTrue(myCodeMapping.Index == FieldIndexOption.NotAnalyzed, "myCode field mapping index should be NotAnalyzed");

ОБНОВИТЬ:

     UpdateMapping(client, indexName);
     foreach (var myVersion in myVersions.Versions)
     {
         var version = myVersion;
         client.Index(myVersion, i => i.Id(version.Id).Index(indexName));
     }

0 ответов

Другие вопросы по тегам