Путаница между отображениями и типами в ElasticSearch

Извините, я Я новичок в ElasticSearch.

http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping.html

В этом документе говорится, что вы можете «создать сопоставление под названием tweet в индексе twitter»

$ curl -XPUT 'http://localhost:9200/twitter/tweet/_mapping' -d '
{
    "tweet" : {
        "properties" : {
            "message" : {"type" : "string", "store" : "yes"}
        }
    }
}
'

Как кто-то сказал мне на канале ES IRC, /twitter/tweet twitter=index, tweet=type

Но что произойдет, если Я делаю следующее?

$ curl -XPUT 'http://localhost:9200/twitter/XXX/_mapping' -d '
{
    "YYY" : {
        "properties" : {
            "message" : {"type" : "string", "store" : "yes"}
        }
    }
}
'

Если я уже указал имя типа в URL-адресе, почему я должен указывать имя типа в содержании? Если я укажу имя типа в содержимом, почему я не могу просто вызвать какой-нибудь URL-адрес, например:

$ curl -XPUT 'http://localhost:9200/twitter/_mapping' -d '

При чтении документа для меня он говорит: «создает сопоставление, называемое твитом, в индексе твиттера», это означает, что XXX — это имя сопоставления, а YYY — имя типа.

Таким образом, если есть имя сопоставления, обычно может быть много "сопоставлений" для индекса.

Итак, в конце концов, XXX и YYY являются/должны быть одинаковыми?


Это не то, что я понял из документа, а то, что я думаю: - Один индекс может иметь типы - Типы имеют сопоставление Таким образом, мы не создаем сопоставление, как говорится в документации, а создаем тип, у которого есть сопоставление, или мы обновляем сопоставление типа, нет?

И в индексе, где я не хочу использовать какой-либо тип (все проиндексированные документы представляют собой данные одного типа), но я хочу создать сопоставление для этого индекса, должен ли я справиться с этим, создав только один тип с его отображением и всегда использовать этот тип (например, в реке CouchDB)?

Спасибо

10
задан mt3 28 December 2012 в 23:26
поделиться