Эластичная поисковая многополевая индексация - PullRequest
0 голосов
/ 20 февраля 2019

Предположим, у меня есть поле с именем 'Title', и я хочу проиндексировать его, используя различные анализаторы (стандартный и английский).Есть ли разница между использованием многополюсного сопоставления или созданием двух отдельных полей?

При многопольном сопоставлении: https://www.elastic.co/guide/en/elasticsearch/guide/current/multi-fields.html

"mappings": {
    "my_type": {
        "properties": {
            "title": { 
                "type":     "string",
                "analyzer": "english",
                "fields": {
                    "std":   { 
                        "type":     "string",
                        "analyzer": "standard"
                    }
                }
            }
        }
    }
}

С двумя отдельными полями:

{
    "properties": {
        "title_standard": {
            "type": "text",
            "analyzer": "standard"
        },
        "title_english": {
            "type": "text",
            "analyzer": "english"
        }
    }
}

1 Ответ

0 голосов
/ 20 февраля 2019

Основным отличием является то, как вы будете отправлять поля вasticsearch.

С мультиполем вам нужно будет отправить только одно поле, аasticsearch создаст новое поле, используяанализатор или тип, указанный в ваших сопоставлениях.

Используя два поля, вам нужно будет сделать копию исходного поля и отправить их оба, они обрабатываются как два разных поля дляasticsearch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...