Os documentos da Retrieval Engine Edition consistem em um campo cmd e um campo fields. Envie documentos em tempo real ou importe dados completos do MaxCompute.
Formato de documento para envio em tempo real
[
{
"cmd": "add",
"fields": {
"id": "1",
"title": "This is the title",
"body": "This is the body",
"tags" : [1, 2, 3]
}
},
{
"cmd": "delete",
"fields": {
"id": "3"
}
}
]
Cada documento requer dois campos: cmd e fields.
-
cmd: operação a executar no documento.
add: adiciona um documento. Se o documento já existir, ele será sobrescrito.
delete: exclua um documento. Especifique a chave primária do documento. Se o índice usar hash multinível, especifique também a chave primária de cada nível.
fields: campos do documento. Inclua o campo de chave primária. Um campo multivalorado é um array e deve estar formatado como JsonArray. Exemplo: [{"fields": { "id": "0","int_array": [14,85],"string_array": ["abc","xyz"]},"cmd": "ADD"}].
O mecanismo de recuperação fornece um SDK para envio de dados.
Formato de documento para dados completos
A Retrieval Engine aceita apenas o MaxCompute como source de dados completos. Os nomes dos campos no schema devem corresponder aos do MaxCompute. Em campos multivalorados, separe os valores com o separador multivalorado '\x1D' ('^]). Não é necessário especificar um cmd para dados do MaxCompute, pois todos os registros são tratados como operações add durante uma importação completa.
Observações
Não use os seguintes caracteres internos nos documentos:
|
Código |
Exibição em (emacs/vi) |
Método de entrada no emacs |
Método de entrada no vi |
|
"\x1E\n" |
^^ (seguido de quebra de linha) |
C-q C-6 |
C-v C-6 |
|
"\x1F\n" |
^_ (seguido de quebra de linha) |
C-q C-7 |
C-v C-7 |
|
"\x1D" |
^] |
C-q C-5 |
C-v C-5 |
|
"\x1C" |
^\ |
C-q C-4 |
C-v C-4 |
|
"\x03" |
^C |
C-q C-c |
C-v C-c |
Não use o separador multivalorado '\x1D' ('^]') em dados de envio em tempo real.
Não use o separador multivalorado '\x1D' ('^]') em campos do tipo TEXT.