Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Especifique o idioma padrão para um índice de texto em sistemas autogerenciados

Nesta página

  • Antes de começar
  • Procedimento
  • Resultados
  • Saiba mais

Por padrão, o default_language para índices de texto é english. Para melhorar o desempenho de queries de pesquisa de texto que não estejam em inglês, você pode especificar um idioma padrão diferente associado ao seu índice de texto.

O idioma padrão associado aos dados indexados determina as regras de lematização de sufixos. O idioma padrão também determina quais palavras de parada específicas do idioma (por exemplo, the, an, a e and em inglês) não são indexadas.

Para especificar um idioma diferente, utilize a opção default_language ao criar o índice de texto. Para ver os idiomas disponíveis para indexação de texto, consulte Idiomas de pesquisa de texto em implementações autogerenciadas. Sua operação deve se assemelhar a este protótipo:

db.<collection>.createIndex(
{ <field>: "text" },
{ default_language: <language> }
)

Se você especificar um valor de , o none de texto analisará cada palavra no campo, incluindo palavras vazias, e default_language a derivação de sufixo.

Crie uma coleção do quotes que contenha os seguintes documentos com um campo de texto em espanhol:

db.quotes.insertMany( [
{
_id: 1,
quote : "La suerte protege a los audaces."
},
{
_id: 2,
quote: "Nada hay más surrealista que la realidad."
},
{
_id: 3,
quote: "Es este un puñal que veo delante de mí?"
},
{
_id: 4,
quote: "Nunca dejes que la realidad te estropee una buena historia."
}
] )

A seguinte operação cria um índice de texto no campo quote e define o default_language para spanish:

db.quotes.createIndex(
{ quote: "text" },
{ default_language: "spanish" }
)

O índice resultante oferece suporte a queries de pesquisa de texto no campo quote com regras de derivação de sufixo no idioma espanhol. Por exemplo, a seguinte query procura a palavra-chave punal no campo quote:

db.quotes.find(
{
$text: { $search: "punal" }
}
)

Saída:

[
{
_id: 3,
quote: "Es este un puñal que veo delante de mí?"
}
]

Embora o valor $search esteja definido como punal, a consulta retornará o documento que contém a palavra puñal, pois os índices de texto nãosão sensíveis a diacríticos.

O índice também ignora palavras irrelevantes específicas do idioma. Por exemplo, embora o documento com _id: 2 contenha a palavra hay, a seguinte consulta não retorna nenhum documento. hay é classificada como uma palavra final em espanhol, o que significa que não está incluída no índice de texto.

db.quotes.find(
{
$text: { $search: "hay" }
}
)

Voltar

Criar um curinga