JanusGraph с ES Field Mapping для `geo_shape` - PullRequest
0 голосов
/ 23 октября 2018

Привет! Я использую JanusGraph 0.3.x с ElasticSearch 6 в качестве бэкэнда индексирования. Я хочу сопоставить свое поле с geo_shape, но оно выглядит эластичным, как geo_point
Я использую Java

mgmt.buildIndex("searchI", Vertex::class.java).addKey(fullText)
            .addKey(hashTagText)
            .addKey(geoPoint)
            .addKey(geoShape)
            .buildMixedIndex("search")

Я хочу, чтобы geoShape было geo_shape
, и вот результат упругости

{"janusgraph":{"mappings":{"searchI":{"properties":{"all":{"type":"text"},"full_text":{"type":"text","copy_to":["all"]},"geo_point":{"type":"geo_point"},"geo_shape":{"type":"geo_point"},"hashtag_text":{"type":"text","copy_to":["all"]}}}}}}

1 Ответ

0 голосов
/ 23 октября 2018

Мы видим в исходном коде , что по умолчанию выбрано geo_point вместо geo_shape.

Чтобы изменить это поведение, вы можете использовать другое отображение, чемпо умолчанию, как описано в документации :

mgmt.buildIndex("searchI", Vertex::class.java).addKey(fullText)
        .addKey(hashTagText)
        .addKey(geoPoint)
        .addKey(geoShape, Mapping.PREFIX_TREE.asParameter())      <-- change this
        .buildMixedIndex("search")
...