Pesquisar este blog

sexta-feira, 18 de novembro de 2011

Apache Solr Parte 2 - Entendendo as querys

buscas basicas

*;* - qualquer valor em qualquer campo, ou seja, todos os resultados.

formato de resposta

toda a resposta vem dentro de <response/>

a primeira parta da resposta  o responseHeader

- status: sempre 0 a nao ser que algo de muito errado
- QTime - o tempo em milisegundos que o Solr demorou para processar a requisiçao. Devido ao cache, a mesma requisiçao se feita seguidas vezes, o tempo de processamento vai diminuindo

dentro de <result> estao os <doc> que sao os documentos que deram match na consulta

form de busca

Parametros que afetam a busca

q: a query em si

q.op = AND ou OR. Se nao estiver presente entao pega o valor default do schema.xml


df=campo default usado na busca. Se nao estiver presente, usa o definido no schema.xml

fq=filter query, limita o escopo de uma query. Podem ser usadas varias filter query

Parametros que afetam o output dos resultados

start - indice do primeiro documento que deve retornar na query. default 0

rows - n�mero de documentos que devem retornar, começando pelo indice definido em start.

fl - lista de campos que devem retornar na busca (separados por virgula ou espaço). * representa todos os campos

sort - lista de campos separados por virgula, com a ordem (crescente ou descrecente em que devem aparecer)

wt - define o formato de saida

FORMATOS DE SAIDA:

xml - � o default
javabin- usado pelo SorlJ
json
python
php
phps
ruby
xstl

Pode ter formatos de saida personalidos, usar xstl  a forma mais indicada para criar saidas personalizadas

indent - on, off identa a saida da query

echoParams - mostra se os paramtetros da req serao mostrados

Sintaxe de querys

As querys podem ser dividas em mandatOry, proibitivas ou opcionais


mandatory: +Latino, ex: todos os artistas que contenham a palavra Latino
proibitivas: -Latino ex:todos os artistas exceto os que contenham a palavra Latino
optional:


Dois lados mandatarios

Leonardo AND Rosa

equivale a

+Leonardo +Rosa


Dois lados opcionais

Leonardo || Rosa
Leonardo OR Rosa

Leonardo NOT Rosa

equivale a

+Leonardo -Rosa


Sub queries

(Green AND Day) OR (Foo and Fighter)

equivale a (+Green +Day) (+Foo +Fighter)

Queries em frases

"Diego Sena"~ - Permite que essas palavras estejam separadas por ate 3 palavras

Wildcards

W* eX: NOMES QUE COMEÇAM COM W

WI*M ex: nomes que começam com Wi e terminam com M

WI??* ex: nomes que começam com Wi, tem mais dois caracteres e podem ter mais ...


Querys de intervalo

duracao:[3 TO *]

mATEM�TICA COM INTERVALO DE DATAS(oferece adi��o, subtra��o e arredondamento nos v�rios n�veis de uma data)

data_lan�amento:[* TO NOW-2YEAR] //data de lan�amento de 2 anos atr�s at� agora
data_lan�amento:[NOW-2YEAR TO NOW-1YEAR] // NOV/2009 A NOV/2010

Filter query . reduz o escopo de uma busca...

Ex: uma query que retorna todos os produtos da apple ..

ap�s aplicar uma fq .. apenas os produtos da apple com pre�o inferior a 2000 ser�o retornados

Voc� pode conseguir o mesmo efeito de uma filter query fazendo uma subquery

(+marca:apple +preco:[* TO 2000])

por�m � mais vantajoso usar filter query pois

aumenta a performance pois cada fq � cacheada
N�o afeta o score dos documentos encontrados

Facets

funciona como um agrupador

Por campo

&facet=on&facet.field=salesClassification

Por query

&facet=on&facet.query=salesPrice:[1 TO 1000]&facet.query=salesPrice:[1001 TO 2000]

Nenhum comentário:

Postar um comentário