Pesquisa de texto completo - Dicas de indexação
Compreender as opções de indexação do Full-Text Search (FTS) é essencial para criar o índice direito para o trabalho em questão. Os índice direito aqui se refere a um índice invertido enxuto e suficientemente rico que pode atender a esses vários tipos de solicitações de pesquisa de clientes.
Alguns Práticas recomendadas de indexação a ter em mente ao criar um índice FTS incluem o seguinte.
-
Evitar padrão mapeamento de tipos na produção
Quando um usuário cria um índice FTS no console da Web do Couchbase, a opção de mapeamento de tipo predefinido escolhida para um índice é padrão. Esse é um tipo especial de aplicativo de mapeamentod para cada documento cujo tipo ou não corresponde a um mapeamento de tipo especificado pelo usuário ou não tem nenhum atributo de tipo reconhecido.
Portanto, se o mapeamento padrão for deixado ativado, todos os documentos com todos os campos serão incluídos no índice. Isso ocorrerá independentemente de o usuário especificar ativamente os mapeamentos de tipos ou não.
O padrão o mapeamento dinâmico produz índices maiores e é potencialmente inadequado para implantações de produção.
Desative o mapeamento de tipos padrão, conforme mostrado abaixo, para garantir que somente os mapeamentos de tipos especificados pelo usuário sejam incluídos no índice.

-
Especifique o direito tipo mapeamentos
Identifique os campos nos quais você precisa tornar os documentos pesquisáveis e defina um mapeamento de tipo personalizado mencionando os campos a serem indexados. Você pode identificar e indexar apenas um subconjunto dos tipos de documentos especificando um único conjunto de mapeamentos de tipos nos quais está interessado.

Leia mais: https://docs.couchbase.com/server/6.0/fts/fts-creating-indexes.html#specifying-type-identifiers
-
Escolha o campo ideal opções de indexação
Ao especificar um campo para indexação, há algumas opções de indexação importantes a serem consideradas.

- índice: Quando marcado, o campo é indexado; quando desmarcado, o campo não é indexado. Isso pode ser usado, portanto, para remover explicitamente um campo já definido do índice.
- loja: Quando marcado, o conteúdo do campo é incluído no conjunto de valores retornados de uma pesquisa; quando desmarcado, o conteúdo do campo não é incluído. Observe que a inclusão do conteúdo do campo permite especificamente destaque dos resultados, de modo que as expressões correspondentes possam ser vistas facilmente. No entanto, isso também resulta em índices maiores e tempos de processamento mais longos. Portanto, desative essa opção se você não estiver interessado em recursos como destaque nos resultados da pesquisa.
- incluir em _todos os campos: Quando marcado, o campo é incluído na definição de _all, que é o campo especificado por padrão no painel Advanced. Quando desmarcado, o campo não é incluído. A inclusão significa que quando _query strings são usados para especificar pesquisas, o texto no campo atual é pesquisável sem que o nome do campo exija um prefixo (portanto, uma pesquisa em descrição:moderno pode ser realizado simplesmente especificando moderno). A ativação dessa opção resulta em índices maiores, portanto, desative-a se quiser usar escopo de campo solicitações de pesquisa.
- incluir vetores de termos: Quando marcada, os vetores de termos são incluídos. Quando desmarcada, os vetores de termos não são incluídos. Os vetores de termos são os locais dos termos em um determinado campo. Certos tipos de funcionalidade (como realce e pesquisa de frases) exigem vetores de termos. A inclusão de vetores de termos resulta em índices maiores e, consequentemente, em tempos de criação de índices mais lentos. Portanto, desative essa opção se você não estiver interessado em pesquisas de frases ou em destacar os resultados da pesquisa.
-
Cuidado com os campos numéricos.
Geralmente, os documentos têm todos os tipos de campos de ID e os usuários tendem a indexá-los como número tipos. Mas a indexação como um número só é recomendado quando você tem um caso de uso numérico real, como pesquisas de intervalo,
Por exemplo: "pesquise todos os documentos de produtos que sejam sobre 'iphone' e cujo preço seja < 1000".
Muitos casos de uso geralmente não têm pesquisas de intervalo em tais campos de ID, mas fazem apenas pesquisas de igualdade de palavras-chave exatas em campos de ID. texto tipo e palavra-chave* em vez de número para esses tipos de situações de campo de identificação.
A partir de agora, o FTS armazena internamente os números em um formato com menor otimização de espaço, e a abordagem acima pode ajudá-lo a reduzir ainda mais o tamanho do índice. E índices menores devem resultar em uma melhor ocupação da RAM.
Estamos adicionando mais capacidade de configuração ao criação de índices permitindo mais ajustes finos no nível do armazenamento.
Parte 2...
analisador de palavras-chave* - Cria um único token que representa a entrada inteira e ignora qualquer stemização ou curadoria de texto posterior.
> Cuidado com campos numéricos
É possível usar o tipo de texto e o analisador de palavras-chave em campos numéricos ou é necessário converter o campo em string?
O campo precisa ser convertido em um tipo de cadeia de caracteres a partir de hoje para contornar esse problema. Mas também estamos avaliando outras soluções nativas.