Resumo estruturado da query Lucene
A resposta de explicação de um comando de pesquisa contém informações sobre a query executada com esse comando. A resposta inclui detalhes estruturados de quais queries do Lucene foram executadas pelo Atlas Search para satisfazer uma query $search
.
Esta página contém:
Algumas das queries do Lucene que os operadores do Atlas Search criam
Opções de query do Lucene incluídas no resumo estruturado
Exemplo de resumo estruturado da query Lucene para cada tipo de query Lucene
Observação
Sobre os exemplos
Os exemplos desta seção são baseados em queries executadas nos conjuntos de dados de amostra com o modo de verbosidade queryPlanner
. Na resposta de exemplo:
mongotQuery
o campo mostra o operador Atlas Search e a query que foi executada.explain.type
mostra a query Lucene que o operador criou.
Para exemplos completos, consulte Exemplos.
BooleanQuery
Para Lucene
BooleanQuery
, o resumo estruturado inclui detalhes sobre as seguintes opções:CampoTiponecessidadeDescriçãomust
Opcional
Cláusulas que devem corresponder.
mustNot
Opcional
Cláusulas que não devem corresponder.
should
Opcional
Cláusulas que deveriam corresponder.
filter
Opcional
Cláusulas que deveriam corresponder.
minimumShouldMatch
Inteiro
Opcional
O número mínimo de
should
cláusulas que devem corresponder.O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "compound" : { 7 "must" : [ { 8 "compound" : { 9 "should" : [ { 10 "text" : { 11 "query" : "historic", 12 "path" : "summary" 13 } 14 }, 15 { 16 "text" : { 17 "query" : "Portugal", 18 "path" : "address.country" 19 } 20 }, 21 { 22 "text" : { 23 "query" : "railway", 24 "path" : "transit" 25 } 26 } ] 27 } 28 } ], 29 "mustNot" : [ { 30 "text" : { 31 "query" : "Apartment", 32 "path" : "property_type" 33 } 34 } ] 35 } 36 }, 37 "explain" : { 38 "type" : "BooleanQuery", 39 "args" : { 40 "must" : [ { 41 "path" : "compound.must", 42 "type" : "BooleanQuery", 43 "args" : { 44 "must" : [ ], 45 "mustNot" : [ ], 46 "should" : [ 47 { 48 "path" : "compound.must.compound.should[0]", 49 "type" : "TermQuery", 50 "args" : { 51 "path" : "summary", 52 "value" : "historic" 53 } 54 }, 55 { 56 "path" : "compound.must.compound.should[1]", 57 "type" : "TermQuery", 58 "args" : { 59 "path" : "address.country", 60 "value" : "portugal" 61 } 62 }, 63 { 64 "path" : "compound.must.compound.should[2]", 65 "type" : "TermQuery", 66 "args" : { 67 "path" : "transit", 68 "value" : "railway" 69 } 70 } 71 ], 72 "filter" : [ ], 73 "minimumShouldMatch" : 0 74 } 75 } ], 76 "mustNot" : [ { 77 "path" : "compound.mustNot", 78 "type" : "TermQuery", 79 "args" : { 80 "path" : "property_type", 81 "value" : "apartment" 82 } 83 } ], 84 "should" : [ ], 85 "filter" : [ ], 86 "minimumShouldMatch" : 0 87 } 88 } 89 }, 90 ... 91 }, 92 ... 93 ], 94 ... 95 }
ConstantScoreQuery
Para consultas de pontuação constantes, o resumo estruturado inclui detalhes sobre as seguintes opções:
CampoTiponecessidadeDescriçãoquery
Obrigatório
Filho de
ConstantScoreQuery
.O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "equals" : { 7 "path" : "host.host_identity_verified", 8 "value" : true 9 } 10 }, 11 "explain" : { 12 "type" : "ConstantScoreQuery", 13 "args" : { 14 "query" : { 15 "type" : "TermQuery", 16 "args" : { 17 "path" : "host.host_identity_verified", 18 "value" : "T" 19 } 20 } 21 } 22 } 23 } 24 }, 25 { 26 "$_internalSearchIdLookup" : { } 27 } 28 ], 29 ... 30 }
FunctionScoreQuery
Para consultas do Lucene
FunctionScoreQuery
, o resumo estruturado inclui detalhes sobre as seguintes opções:CampoTiponecessidadeDescriçãoscoreFunction
string
Obrigatório
Expressão de pontuação usada na consulta.
query
Obrigatório
A consulta.
O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "near" : { 7 "path" : "accomodates", 8 "origin" : 8, 9 "pivot" : 2 10 } 11 }, 12 "explain" : { 13 "type" : "BooleanQuery", 14 "args" : { 15 "must" : [ ], 16 "mustNot" : [ ], 17 "should" : [ 18 { 19 "type" : "BooleanQuery", 20 "args" : { 21 "must" : [ ], 22 "mustNot" : [ ], 23 "should" : [ 24 { 25 "type" : "FunctionScoreQuery", 26 "args" : { 27 "scoreFunction" : "expr(pivot / (pivot + abs(origin - value)))", 28 "query" : { 29 "type" : "LongDistanceFeatureQuery", 30 "args" : { }, 31 "stats" : { } 32 } 33 } 34 } 35 ], 36 "filter" : [ 37 { 38 "type" : "PointRangeQuery", 39 "args" : { 40 "path" : "accomodates", 41 "representation" : "double", 42 "gte" : 8.000000000000002, 43 "lte" : NaN 44 } 45 } 46 ], 47 "minimumShouldMatch" : 0 48 } 49 }, 50 { 51 "type" : "LongDistanceFeatureQuery", 52 "args" : { }, 53 "stats" : { } 54 } 55 ], 56 "filter" : [ ], 57 "minimumShouldMatch" : 0 58 } 59 } 60 }, 61 ... 62 }, 63 ... 64 ], 65 ... 66 }
LatLonPointDistanceQuery
Para consultas Lucene
LatLonPointDistanceQuery
, a resposta contém apenas um Explain Timing Breakdown .O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "geoWithin" : { 7 "path" : "address.location", 8 "circle" : { 9 "radius" : 4800, 10 "center" : { 11 "type" : "Point", 12 "coordinates" : [ 13 -122.419472, 14 37.765302 15 ] 16 } 17 } 18 } 19 }, 20 "explain" : { 21 "type" : "LatLonPointDistanceQuery", 22 "args" : { } 23 } 24 } 25 }, 26 ... 27 ], 28 ... 29 }
LatLonShapeQuery
Para consultas Lucene
LatLonShapeQuery
, a resposta contém apenas um Explain Timing Breakdown .O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "geoShape" : { 7 "path" : "address.location", 8 "relation" : "within", 9 "geometry" : { 10 "type" : "Polygon", 11 "coordinates" : [ 12 [ 13 [ -74.3994140625, 40.5305017757 ], 14 [ -74.7290039063, 40.5805846641 ], 15 [ -74.7729492188, 40.9467136651 ], 16 [ -74.0698242188, 41.1290213475 ], 17 [ -73.65234375, 40.9964840144 ], 18 [ -72.6416015625, 40.9467136651 ], 19 [ -72.3559570313, 40.7971774152 ], 20 [ -74.3994140625, 40.5305017757 ] 21 ] 22 ] 23 } 24 } 25 }, 26 "explain" : { 27 "type" : "LatLonShapeQuery", 28 "args" : { } 29 } 30 }, 31 ... 32 }, 33 ... 34 ], 35 ... 36 }
LongDistanceFeatureQuery
Para Lucene
LongDistanceFeatureQuery
, a resposta contém apenas um Explain Timing Breakdown .O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_mflix.movies
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "near" : { 7 "path" : "released", 8 "origin" : ISODate("1915-09-13T00:00:00Z"), 9 "pivot" : 7776000000 10 } 11 }, 12 "explain" : { 13 "type" : "LongDistanceFeatureQuery", 14 "args" : { } 15 } 16 }, 17 ... 18 }, 19 ... 20 ], 21 ... 22 }
MultiTermQueryConstantScoreWrapper
Para consultas do Lucene
MultiTermQueryConstantScoreWrapper
, o resumo estruturado inclui detalhes sobre os seguintes argumentos:CampoTiponecessidadeDescriçãoqueries
Lista<Explicar Resposta>
Obrigatório
Lista de consultas.
O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "regex" : { 7 "path" : "access", 8 "query" : "full(.{0,5})", 9 "allowAnalyzedField" : true 10 } 11 }, 12 "explain" : { 13 "type" : "MultiTermQueryConstantScoreWrapper", 14 "args" : { 15 "queries" : [ 16 { 17 "type" : "DefaultQuery", 18 "args" : { 19 "queryType" : "RegexpQuery" 20 } 21 } 22 ] 23 } 24 } 25 }, 26 ... 27 }, 28 ... 29 ], 30 ... 31 }
PhraseQuery
Para consultas do Lucene
PhraseQuery
, o resumo estruturado inclui detalhes sobre os seguintes argumentos:CampoTiponecessidadeDescriçãopath
string
Obrigatório
Campo indexado para pesquisar.
query
string
Obrigatório
String ou strings para pesquisar.
slop
int
Obrigatório
Distância permitida entre palavras na frase
query
.O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "phrase" : { 7 "path" : "description", 8 "query" : "comfortable apartment", 9 "slop" : 2 10 } 11 }, 12 "explain" : { 13 "type" : "PhraseQuery", 14 "args" : { 15 "path" : "description", 16 "query" : "[comfortable, apartment]", 17 "slop" : 2 18 } 19 } 20 }, 21 ... 22 }, 23 ... 24 ], 25 ... 26 }
PointRangeQuery
Para consultas do Lucene
PointRangeQuery
, o resumo estruturado inclui detalhes sobre os seguintes argumentos:CampoTiponecessidadeDescriçãopath
string
Obrigatório
Campo indexado para pesquisar.
representation
string
Opcional
Representação numérica. Queries sobre dados classificados por data não incluem representação.
gte
número
Opcional
Limite inferior da consulta.
lte
número
Opcional
Limite superior da consulta.
O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "range" : { 7 "path" : "number_of_reviews", 8 "gt" : 5 9 } 10 }, 11 "explain" : { 12 "type" : "BooleanQuery", 13 "args" : { 14 "must" : [ ], 15 "mustNot" : [ ], 16 "should" : [ 17 { 18 "type" : "PointRangeQuery", 19 "args" : { 20 "path" : "number_of_reviews", 21 "representation" : "double", 22 "gte" : 5.000000000000001 23 } 24 }, 25 { 26 "type" : "PointRangeQuery", 27 "args" : { 28 "path" : "number_of_reviews", 29 "representation" : "int64", 30 "gte" : NumberLong(6) 31 } 32 } 33 ], 34 "filter" : [ ], 35 "minimumShouldMatch" : 0 36 } 37 } 38 }, 39 ... 40 }, 41 ... 42 ], 43 ... 44 }
TermQuery
Para queries de termo, o resumo estruturado inclui detalhes sobre os seguintes argumentos:
CampoTiponecessidadeDescriçãopath
string
Obrigatório
Campo indexado para pesquisar.
value
string
Obrigatório
String a ser pesquisada.
O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "queryString" : { 7 "defaultPath" : "summary", 8 "query" : "quiet" 9 } 10 }, 11 "explain" : { 12 "type" : "TermQuery", 13 "args" : { 14 "path" : "summary", 15 "value" : "quiet" 16 } 17 } 18 }, 19 ... 20 }, 21 ... 22 ], 23 ... 24 }
Default
Queries Lucene que não são explicitamente definidas por outra query Lucene são serializadas utilizando a query padrão. O resumo estruturado inclui detalhes sobre a seguinte opção:
CampoTiponecessidadeDescriçãoqueryType
string
Obrigatório.
Tipo de consulta Lucene.
O exemplo a seguir mostra a resposta
explain
para uma query executada na coleçãosample_airbnb.listingsAndReviews
.1 { 2 "stages" : [ 3 { 4 "$_internalSearchMongotRemote" : { 5 "mongotQuery" : { 6 "near" : { 7 "origin" : { 8 "type" : "Point", 9 "coordinates" : [ 10 -8.61308, 11 41.1413 12 ] 13 }, 14 "pivot" : 1000, 15 "path" : "address.location" 16 } 17 }, 18 "explain" : { 19 "type" : "DefaultQuery", 20 "args" : { 21 "queryType" : "LatLonPointDistanceFeatureQuery" 22 } 23 } 24 }, 25 ... 26 }, 27 ... 28 ], 29 ... 30 }