Full Text Search e Semantic Search no SQL Server 2012– Parte 2

Olá pessoal,

No ultimo post vimos como habilitar o Full Text Search e Semantic Search no SQL Server 2012. E nesse post de hoje vamos trazer um pouquinho do que o essas duas features podem agregar de valor para os futuros desenvolvimentos.

A primeira função que vamos ver hoje é a possibilidade do Full Text Search realizar pesquisas por propriedades como: Autor, Tags e Titulo.

A consulta é bastante simples, apenas especificamos qual o tipo de propriedade que desejamos consultar e inserir a palavra de busca.

1) Consultando pela propriedade Autor onde o nome for Lindsey Allen. Lembrando que sempre que trabalharmos com mais de um nome na pesquisa voce nao pode esquecer de colocar aspas duplas (“ “).

select name as Documento, file_type as Extensao from tblDocumentos
where CONTAINS(PROPERTY(file_stream,’Author’),'”Lindsey Allen”‘)

Resultado
AuthorTag

2) Realizando a pesquisa por mais de um autor.

select name as Documento, file_type as Extensao from tblDocumentos
where CONTAINS(PROPERTY(file_stream,’Author’),'”Sylvio Hellmann” OR “Lindsey Allen”‘)

Resultado

image

3) Pesquisar por titulos de livro

select name as Documento, file_type as Extensao from tblDocumentos
where CONTAINS(PROPERTY(file_stream,’Title’),’SQL’)

Resultado

image

Operadores de aproximação.

Quando desejamos realizar uma pesquisa por palavras que estao proximas uma das outras utilizamos o operador NEAR na consulta em um full text search index, porem nao conseguimos especificar ate o SQL Server 2008 o quao proximo uma palavra deve estar da outra para retornar a consulta com sucesso ou a sequencia de retorno das palavras. É por isso entao que no SQL Server 2012 o operador NEAR foi melhor trabalhado para que pudessemos entao especificar a quantas palavras de distancia uma estaria da outra e qual a sequencia das palavras. Então vamos a primeira consulta.

1) Buscar a palavra MICROSOFT apenas se estiver em um grau de até 3 palavras perto de MSDTC nao importando a ordem de busca.

select name as Documento, file_type as Extensao from tblDocumentos
where CONTAINS(*,’near((Microsoft,MSDTC),3,false)’)

Resultado

image

Verificando o documento

image

2) Buscar as MSDTC e MICROSOFT apenas se estiver em um grau de proximidade de até 3 palavras, porem a sequencia obrigatoriamente necessita ser primeiro MSDTC e depois a palavra MICROSOFT.

select name as Documento, file_type as Extensao from tblDocumentos
where CONTAINS(*,’near((MSDTC,Microsoft),3,true)’)

Resultado

image

Como podem  ver o resultado nao trouxe nenhum valor, pois nao temos a existencia desses termos nessa ordem dentro de nenhum documento.

Pessoal, esse foi um pouco das novidades do Full Text Search e Semantic Search, espero que tenham gostado e ao passar dos dias vou postando as demais novidades.

Abraços,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]

Sobre Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Publicado em maio 17, 2012, em Administração, SQL Server 2012 e marcado como , , . Adicione o link aos favoritos. 1 comentário.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: