Отсутствует сопоставление/тип для elasticSearchService при индексации через низкий уровень

Я создал индекс и некоторые данные на карте и присвоил им тип, используя elasticsearch-grails-plugin https://grails.org/plugin/elasticsearch через низкоуровневый API, но когда я пытаюсь выполнить поиск с помощью elasticSearchService.search() и указать в параметрах пакет/тип, я получаю исключение, что тип объекта неизвестен:

java.lang.IllegalArgumentException: Unknown object type: mypackagetype1
at org.grails.plugins.elasticsearch.ElasticSearchService$$EPFkEyq8.resolveIndicesAndTypes(ElasticSearchService.groovy:545)
at org.grails.plugins.elasticsearch.ElasticSearchService$$EPFkEyq8.search(ElasticSearchService.groovy:438)
at org.grails.plugins.elasticsearch.ElasticSearchService$$EPFkEyq8.search(ElasticSearchService.groovy:64)

Вот как я добавил индекс и данные в package.

def somemypackagetype1data = [name:'Alan', city:'Newyork']
elasticSearchHelper.withElasticSearch { Client client ->
def response = client.prepareIndex("myindex", "mypackagetype1")
                    .setSource(somemypackagetype1data)
                    .execute()
                    .actionGet()
}

и вот как выполняется поиск, который выдает указанное выше исключение:

elasticSearchService.search([types:'mypackagetype1'],
            {
                query_string(fields: ["name"],
                        query: searchQuery)
            }, null)

Но когда я пытаюсь получить сопоставления с помощью elasticSearchContextHolder.mapping, он ничего не возвращает. и что интересно, когда я проверяю, существует ли сопоставление с помощью elasticSearchAdminService, оно возвращается как положительное.

elasticSearchAdminService.mappingExists("myindex", "mypackagetype1")

Почему я получаю неизвестное исключение типа объекта? Хотя я его уже добавил...


person sufyan.shoaib    schedule 16.06.2015    source источник
comment
служба может обрабатывать только свои собственные сопоставления github.com/noamt/elasticsearch-grails-plugin/blob/master/   -  person cfrick    schedule 16.06.2015
comment
@cfrick похоже, что сейчас я могу ссылаться только на сопоставление домена, оно не поддерживает json и карту (которые я добавил).   -  person sufyan.shoaib    schedule 16.06.2015


Ответы (1)


Как прокомментировал @cfrick, в настоящее время поддерживается только сопоставление доменов. Поэтому я справился с этим с помощью низкоуровневого вызова API.

person sufyan.shoaib    schedule 29.06.2015