Como indexar campos de strings
Nesta página
Você pode usar o tipo do Atlas Search string
para indexar campos da string. Você pode usar os operadores frase, queryString, span, texto, coringa, regex e moreLikeThis do Atlas Search para consultar campos indexados como o string
tipo.
Se você habilitar mapeamentos dinâmicos, o Atlas Search indexará automaticamente campos do tipo string
. Você pode utilizar o Editor Visual ou o Editor JSON na UI do Atlas para indexar campos como o tipo string
.
Revise as limitações do string
tipo
Não é possível usar o tipo string
do Atlas Search para indexar campos para queries de facet ou preenchimento automático. Você não pode usar o tipo string
para indexar campos para classificar os resultados do Atlas Search. Em vez disso, use mapeamentos estáticos para indexar os campos de string como os seguintes tipos:
Tipo stringFacet para executar uma query de facet nos campos da string. O Atlas Search não indexa dinamicamente campos de string para facet.
Tipo preenchimento automático para executar queries de operadores com preenchimento automático nos campos da string. O Atlas Search não indexa dinamicamente os campos da string com preenchimento automático.
Tipo de token para classificar os resultados do Atlas Search pelo campo da string. O Atlas Search não indexa dinamicamente os campos da string para classificar os resultados.
tipo de token para encontrar uma correspondência exata para queries que usam os operadores igual, entrada e faixa. O Atlas Search não indexa de forma dinâmica campos de string do tipo
token
para queries usando esses operadores.
Importante
O Atlas Search não indexará campos de string em que os tokens do analisador excedam 32766 bytes de tamanho. Se estiver usando o analisador de palavras-chave, os campos de string que excederem 32766 bytes não serão indexados.
Defina o índice para o string
tipo
Para definir o índice para o tipo string
, escolha seu método de configuração preferido na UI do Atlas e então selecione o banco de dados e collection.
Clique em Refine Your Index para configurar seu índice.
Na seção Field Mappings, clique em Add Field para abrir a janela Add Field Mapping.
Clique em Customized Configuration.
Selecione o campo a ser indexado no menu suspenso Field Name.
Observação
Você não pode indexar campos que contêm o sinal de dólar (
$
) no início do nome do campo.Clique no menu suspenso Data Type e selecione String.
(Opcional) Expanda e configure o String Properties para o campo. Para saber mais, consulte Como configurar propriedades de campo
string
.(Opcional) Clique em Add Multi Field para definir as seguintes configurações alternativas do analisador para esse campo:
Insira um nome para o analisador alternativo no campo Multi Field Name.
Configure as propriedades do campo de string para o analisador alternativo em Multi Field Properties. Para saber mais, consulte Como configurar propriedades de campo
string
.(Opcional) Clique em Add Another Mult Field e repita as etapas 1 e b para configurar mais analisadores para o campo.
Clique em Add.
A seguir está a sintaxeJSON para o tipo string
. Substitua a definição de índice padrão pelo seguinte. Para saber mais sobre os campos, consulte Propriedades do campo.
{ "mappings": { "dynamic": true|false, "fields": { "<field-name>": { "type": "string", "analyzer": "<atlas-search-analyzer>", "searchAnalyzer": "<atlas-search-analyzer>", "indexOptions": "docs|freqs|positions|offsets", "store": true|false, "ignoreAbove": <integer>, "multi": {<string-field-definition>}, "norms": "include|omit" } } } }
Configurar string
propriedades de campo do
O tipo string
do Atlas Search usa os seguintes parâmetros:
Opção | Tipo | necessidade | Descrição | Default |
---|---|---|---|---|
type | string | Obrigatório | Etiqueta legível por humanos que identifica este tipo de campo. O valor deve ser string . | |
analyzer | string | Opcional | ||
searchAnalyzer | string | Opcional | Use este analisador para fazer quereis de campos. Se você não especificar um valor, ele herda um analisador por padrão na seguinte ordem: | |
indexOptions | string | Opcional | Quantidade de informações a armazenar no campo indexado. O valor pode ser um dos seguintes:
| offsets |
store | booleano | Opcional | Sinalizador que indica se é para armazenar o texto exato do documento, bem como os valores analisados no índice. O valor pode ser Para reduzir o tamanho do índice e melhorar o desempenho, recomendamos configurar | true |
ignoreAbove | int | Opcional | Número máximo de caracteres no valor do campo a indexar. O Atlas Search não indexa se o valor do campo for maior que o número especificado de caracteres. | |
multi | Definição de campo de string | Opcional | Campo de string para indexar com o nome do analisador alternativo especificado no objeto multi . Para saber mais sobre como especificar o objeto do multi , consulte Multi Analyzer e exemplo abaixo. | |
norms | string | Opcional | String que especifica se o comprimento do campo deve ser incluído ou omitido no resultado da pontuação. O comprimento do campo é determinado pelo número de tokens produzidos pelo analisador para o campo. O valor pode ser um dos seguintes:
Se o valor for Se o valor for | include |
Experimente um exemplo para o string
tipo de
O exemplo de definição de índice abaixo usa a coleção sample_mflix.movies. Se você já tiver os dados de amostra carregados em seu cluster, poderá usar o Visual Editor ou o Editor JSON na UI do Atlas para configurar o índice. Após selecionar seu método de configuração preferido, selecione o banco de dados e a coleção e filtre seu índice para adicionar mapeamentos de campo.
A definição de índice abaixo indexa valores de string no campo title
como tipo string
do Atlas Search:
Na janela Add Field Mapping, selecione title no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione String.
Revise as configurações padrão do String Properties.
Clique em Add.
Substitua a definição de índice padrão pela seguinte definição de índice.
{ "mappings": { "dynamic": false, "fields": { "title": { "type": "string" } } } }
A definição de índice a seguir indexa valores de string no campo fullplot
com os analisadores lucene.english
e lucene.french
, além do analisador lucene.standard
padrão:
Na janela Add Field Mapping, selecione fullplot no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione String.
Revise as configurações padrão do String Properties.
Clique em Add Multi Field, insira
english
no campo Multi Field Name e configure o seguinte Multi Field Properties:Analisador de índiceSelecionelucene.english
emlucene.language
.Analisador de pesquisaSelecionelucene.english
emlucene.language
.Clique em Add Another Multi Field, insira
french
no campo Multi Field Name e configure o seguinte Multi Field Properties:Analisador de índiceSelecionelucene.french
emlucene.language
.Analisador de pesquisaSelecionelucene.french
emlucene. language
.Clique em Add.
Substitua a definição de índice padrão pela seguinte definição de índice.
{ "mappings": { "dynamic": false, "fields": { "fullplot": { "type": "string", "multi": { "english": { "type": "string", "analyzer": "lucene.english" }, "french": { "type": "string", "analyzer": "lucene.french" } } } } } }