2016-08-31 2 views
1

Вопрос о Elasticsearch 1.xВ чем разница между настройками сопоставления doc_values ​​и fielddata.doc_values?

Документация, says, что установка "doc_values": true должно быть достаточно, чтобы использовать диск на основе fielddata. Как это:

"string_field": { "doc_values": true, "type": "string", "index": "not_analyzed" }

Однако, есть также возможность установить doc_values как fielddata формат:

"string_field": { "type": "string", "index": "not_analyzed", "fielddata": { "format": "doc_values" } }

Так что мои вопросы:

ли эти два подхода по существу тоже самое?

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

ответ

1

«поля не должны быть проиндексированы для того, чтобы значения DOC» означает, что вы можете иметь "index": "no", например:

"my_field": { 
    "type": "string", 
    "index": "no", 
    "fielddata": { 
    "format": "doc_values" 
    } 
} 

Если вы хотите изменить формат doc_values, вам нужно обновить карту и REINDEX ваши данные.

+0

Спасибо, вы уточнили суть переиндексации. По-видимому, это четко указано в обоих сообщениях в блоге, о которых я упоминал, я просто не читал внимательно второй. Однако это не отвечает, если есть разница между 'doc_values' и' fielddata.doc_values'. Я обновлю вопрос, чтобы устранить путаницу в отношении переиндексации. – tiurin

Смежные вопросы