Em relação à busca por texto utilizando os operadores LIKE, ...

Próximas questões
Com base no mesmo assunto
Q978955 Banco de Dados
Em relação à busca por texto utilizando os operadores LIKE, SIMILAR TO, expressão regular, Full Text Search (FTS), funções e operadores relacionados à busca textual no PostgreSQL, é correto afirmar:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a C. O mecanismo de Full Text Search (FTS) oferecido pelo PostgreSQL é avançado e permite busca de textos considerando sinônimos, variação morfológica das palavras e também pode ser configurado para lidar com erros de ortografia por meio da semelhança entre os termos. Este tipo de busca é especialmente útil para desenvolver sistemas de busca internos em aplicações onde se deseja capacidade de recuperação eficiente e relevante de dados textuais.

O Full Text Search funciona a partir da criação de índices que são otimizados para pesquisa textual, utilizando os tipos tsvector, que representa um documento de texto de maneira otimizada para busca, e tsquery, que representa a consulta de texto. A comparação entre um tsquery e um tsvector é feita utilizando o operador @@. Esse processo leva em conta não apenas a presença de palavras, mas também a significância delas no texto, o que torna o FTS mais potente que buscas baseadas unicamente em operadores como LIKE ou SIMILAR TO.

O FTS lida com stemming (reduzindo palavras ao seu radical básico), sinônimos, e outros aspectos que tornam a busca por texto mais eficiente e menos sujeita a problemas de variações ortográficas ou morfológicas. Portanto, caso um usuário cometa um erro ao digitar uma palavra-chave, o sistema FTS tem a capacidade de retornar resultados relevantes apesar desse erro, ao invés de simplesmente falhar em encontrar correspondência.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Alternativa correta: C. 

a) ERRADA: LIKE não resolve problemas de ortografia. Se você mandar ele pesquisar por "qustoes" ao invés de "questoes" ele vai pesquisar o termo errado;

b) ERRADA: a pesquisa é baseada em strings. A diferença dele pro LIKE é que no SIMILAR TO é necessário que os resultados sejam idênticos à toda string passada, e não somente parte dela (como no LIKE);

c) GABARITO: FTS pode ser usado para buscar textos similar ao LIKE e ao SIMILAR TO, com a diferença de também ter suporte ao ISPELL, que corrige erros de ortografia em palavras passadas como parâmetros de busca (fonte: vai no subtítulo "search configurations" desse posthttps://www.compose.com/articles/mastering-postgresql-tools-full-text-search-and-phrase-search/ );

d) ERRADA: o "@@" do postgresql busca por padrões armazenados em um vetor, equanto o "RLIKE" do mysql trabalha com expressões regulares;

e) ERRADA: não achei o erro desta. Alguém comenta, por gentileza. 

Gabarito: C

O operador SIMILAR TO do PostgreSQL é equivalente ao operador RLIKE do MySQL.

Quanto à alternativa E, creio que o erro esteja em "são conjuntos de trigrans das strings informadas", porque tsquery e tsvector não têm relação com trigramas, mas com uma lista de lexemas (palavras de dicionário).

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo