SlideShare a Scribd company logo
1 of 256
Download to read offline
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Clinton Gormley
@clintongormley
Elasticsearch Query DSL
… not just for wizards
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
elasticsearch.org/guide
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
elasticsearch
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
elasticsearch
• real-time
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
elasticsearch
• real-time
• distributed
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
elasticsearch
• real-time
• distributed
• search
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
elasticsearch
• real-time
• distributed
• search
• analytics
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
mapping
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
mapping
analysis
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
mapping
analysis query dsl
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
mapping
analysis query dsl
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
query dsl
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
query dsl
flexible, powerful
query language
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
queries
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
queries filters
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
queries
• relevance
filters
• boolean yes/no
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
queries
• relevance
• full text
filters
• boolean yes/no
• exact values
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
queries
• relevance
• full text
• not cached
filters
• boolean yes/no
• exact values
• cached
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
queries
• relevance
• full text
• not cached
• slower
filters
• boolean yes/no
• exact values
• cached
• faster
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
queries
• relevance
• full text
• not cached
• slower
filters
• boolean yes/no
• exact values
• cached
• faster
Filter first, then query remaining docs
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {...}	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  "match":	
  {	
  "title":	
  "search"	
  }}	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  match_all:	
  {}}	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  match_all:	
  {}}	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  {...},	
  
	
  	
  	
  	
  	
  	
  "filter":	
  {...}	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  {	
  "match":	
  {	
  "title":	
  	
  "search"	
  }},	
  
	
  	
  	
  	
  	
  	
  "filter":	
  {...}	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  {	
  "match":	
  {	
  "title":	
  	
  "search"	
  }},	
  
	
  	
  	
  	
  	
  	
  "filter":	
  {	
  "term":	
  	
  {	
  "status":	
  "active"	
  }}	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  {	
  "match_all":	
  {}},	
  
	
  	
  	
  	
  	
  	
  "filter":	
  {	
  "term":	
  	
  {	
  "status":	
  "active"	
  }}	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  {	
  "match_all":	
  {}},	
  
	
  	
  	
  	
  	
  	
  "filter":	
  {	
  "term":	
  	
  {	
  "status":	
  "active"	
  }}	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
how data is indexed
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}	
  
!
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}	
  
!
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
where content like
“%brown%fox%”
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}	
  
!
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
slow & inflexible
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}	
  
!
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
“analysis”
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}	
  
!
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  [quick,brown,rabbits],	
  
	
  	
  "content":	
  [brown,rabbits,are,commonly,seen]	
  
}	
  
!
{	
  
	
  	
  "title":	
  	
  	
  [keeping,pets,healthy],	
  
	
  	
  "content":	
  [my,quick,brown,fox,eats,rabbits,on,a,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular,basis]	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term Doc	
  1 Doc	
  2
a
are
basis
brown
commonly
eats
fox
my
on
quick
rabbits
regular
seen
field: content
sorted list of
unique terms
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term Doc	
  1 Doc	
  2
a
are
basis
brown
commonly
eats
fox
my
on
quick
rabbits
regular
seen
field: content
where
they
occur
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term Doc	
  1 Doc	
  2
a
are
basis
brown
commonly
eats
fox
my
on
quick
rabbits
regular
seen
field: content
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term Doc	
  1 Doc	
  2
a
are
basis
brown
commonly
eats
fox
my
on
quick
rabbits
regular
seen
field: content
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
inverted index
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
inverted index
not just for text
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
inverted index
numbers, dates, bools, enums
geopoints, geoshapes, etc
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  =	
  "value"
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  CONTAINS	
  "value"
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  CONTAINS	
  "value"
term filter
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  "term":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "title":	
  "brown"	
  	
  
	
  	
  }
WHERE	
  field	
  CONTAINS	
  "value"
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
!
!
!
!
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
!
!
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  {	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ...	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  "filter":	
  {	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ...	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  {	
  "match_all":	
  {}	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  "filter":	
  {	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ...	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  {	
  "match_all":	
  {}	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  "filter":	
  {	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ...	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  "query":	
  {	
  
	
  	
  	
  	
  "filtered":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  {	
  "match_all":	
  {}	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  "filter":	
  {	
  "term":	
  	
  {	
  "title":	
  "brown"	
  }}	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term Doc	
  1 Doc	
  2
brown
healthy
keeping
pets
quick
rabbits
field: title
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term Doc	
  1 Doc	
  2
brown
healthy
keeping
pets
quick
rabbits
field: title
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  "term":	
  {	
  "title":	
  "brown"	
  }
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  "term":	
  {	
  "title":	
  "brown"	
  }
➔	
  result:	
  	
  	
  bitset[	
  1,	
  0	
  ]
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  "term":	
  {	
  "title":	
  "brown"	
  }
➔	
  result:	
  	
  	
  bitset[	
  1,	
  0	
  ]
➔	
  cache	
  as:	
  "title:brown"
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  IN	
  ["val",…]
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  IN	
  ["val",…]
terms filter
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  "terms":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "title":	
  ["quick",	
  "pets"]	
  	
  
	
  	
  }
WHERE	
  field	
  IN	
  ["val",…]
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term Doc	
  1 Doc	
  2
brown
healthy
keeping
pets
quick
rabbits
field: title
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  "terms":	
  {	
  "title":	
  ["quick","pets"]	
  }
➔	
  result:	
  	
  	
  bitset[	
  1,	
  1	
  ]
➔	
  cache	
  as:	
  "title:quick	
  title:pets"
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  >=	
  "val1"	
  
	
  	
  AND	
  field	
  <	
  	
  "val2"
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  >=	
  "val1"	
  
	
  	
  AND	
  field	
  <	
  	
  "val2"
range filter
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  "range":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "content":{	
  
	
  	
  	
  	
  	
  	
  	
  "gte":	
  "a",	
  
	
  	
  	
  	
  	
  	
  	
  "lt":	
  	
  "m"	
  
	
  	
  	
  	
  	
  }	
  
	
  	
  }
WHERE	
  field	
  >=	
  "val1"	
  
	
  	
  AND	
  field	
  <	
  	
  "val2"
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term Doc	
  1 Doc	
  2
a
are
basis
brown
commonly
eats
fox
my
on
quick
rabbits
regular
seen
field: content
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
➔	
  result:	
  	
  	
  bitset[	
  1,	
  1	
  ]
➔	
  cache	
  as:	
  "content:[a	
  TO	
  m}"
	
  	
  "range":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "content":{	
  "gte":	
  "a",	
  "lt":	
  	
  "m"	
  }	
  
	
  	
  }
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  "range":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "date":{	
  	
  
	
  	
  	
  	
  	
  	
  	
  "gte":	
  "2014-­‐01-­‐01",	
  
	
  	
  	
  	
  	
  	
  	
  "lt":	
  	
  "2041-­‐02-­‐01"	
  
	
  	
  	
  	
  	
  }	
  
	
  	
  }
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  "range":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "date":{	
  	
  
	
  	
  	
  	
  	
  	
  	
  "gte":	
  "2014-­‐01-­‐01",	
  
	
  	
  	
  	
  	
  	
  	
  "lt":	
  	
  "2041-­‐02-­‐01"	
  
	
  	
  	
  	
  	
  }	
  
	
  	
  }
numeric/date fields
optimised
for range filters
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  "range":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "date":{	
  	
  
	
  	
  	
  	
  	
  	
  	
  "gte":	
  "now	
  -­‐	
  1h"	
  
	
  	
  	
  	
  	
  }	
  
	
  	
  }
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  "range":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "date":{	
  	
  
	
  	
  	
  	
  	
  	
  	
  "gte":	
  "now	
  -­‐	
  1h"	
  
	
  	
  	
  	
  	
  }	
  
	
  	
  }
not cached
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  "range":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "date":{	
  	
  
	
  	
  	
  	
  	
  	
  	
  "gte":	
  "now	
  -­‐	
  1h	
  /	
  h"	
  
	
  	
  	
  	
  	
  }	
  
	
  	
  }
cached
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  IS	
  NOT	
  NULL
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  has	
  any	
  term
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
WHERE	
  field	
  has	
  any	
  term
exists filter
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"exists":	
  	
  {	
  	
  
	
  	
  "field":	
  "title"	
  
}	
  
WHERE	
  field	
  has	
  any	
  term
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
missing filter
WHERE	
  field	
  has	
  no	
  term
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"missing":	
  	
  {	
  	
  
	
  	
  "field":	
  "title"	
  
}	
  
WHERE	
  field	
  has	
  no	
  term
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
AND	
  …	
  OR	
  …	
  NOT
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
AND	
  …	
  OR	
  …	
  NOT
bool filter
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  	
  	
  	
  	
  [	
  <filters>	
  ],	
  
	
  	
  "should":	
  	
  	
  [	
  <filters>	
  ],	
  
	
  	
  "must_not":	
  [	
  <filters>	
  ]	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  	
  	
  	
  	
  [	
  <filters>	
  ],	
  #	
  AND	
  
	
  	
  "should":	
  	
  	
  [	
  <filters>	
  ],	
  
	
  	
  "must_not":	
  [	
  <filters>	
  ]	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  	
  	
  	
  	
  [	
  <filters>	
  ],	
  
	
  	
  "should":	
  	
  	
  [	
  <filters>	
  ],	
  #	
  OR	
  
	
  	
  "must_not":	
  [	
  <filters>	
  ]	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  	
  	
  	
  	
  [	
  <filters>	
  ],	
  
	
  	
  "should":	
  	
  	
  [	
  <filters>	
  ],	
  
	
  	
  "must_not":	
  [	
  <filters>	
  ]	
  	
  #	
  NOT	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }},	
  
!
!
!
!
!
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }},	
  
	
  	
  "should":	
  [	
  	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  	
  	
  "quick"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "content":	
  "quick"	
  }}	
  
	
  	
  ],	
  
!
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }},	
  
	
  	
  "should":	
  [	
  	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  	
  	
  "quick"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "content":	
  "quick"	
  }}	
  
	
  	
  ],	
  
	
  	
  "must_not":	
  {	
  "term":	
  {	
  "content":	
  "fox"	
  }}	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  [	
  
	
  	
  	
  	
  {	
  "bool":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  	
  "should":	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  	
  	
  "rabbits"	
  }},	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "content":	
  "rabbits"	
  }}	
  
	
  	
  	
  	
  ]}},	
  
	
  	
  	
  	
  {	
  "bool":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  	
  "should":	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  	
  	
  "quick"	
  }},	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "content":	
  "quick"	
  }}	
  
	
  	
  	
  	
  ]}}	
  
	
  	
  ],	
  
	
  	
  "must_not":	
  {	
  "term":	
  {	
  "content":	
  "fox"	
  }}	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  [	
  
	
  	
  	
  	
  {	
  "bool":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  	
  "should":	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  	
  	
  "rabbits"	
  }},	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "content":	
  "rabbits"	
  }}	
  
	
  	
  	
  	
  ]}},	
  
	
  	
  	
  	
  {	
  "bool":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  	
  "should":	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  	
  	
  "quick"	
  }},	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "content":	
  "quick"	
  }}	
  
	
  	
  	
  	
  ]}}	
  
	
  	
  ],	
  
	
  	
  "must_not":	
  {	
  "term":	
  {	
  "content":	
  "fox"	
  }}	
  
}
not cached
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  [	
  
	
  	
  	
  	
  {	
  "bool":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  	
  "should":	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  	
  	
  "rabbits"	
  }},	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "content":	
  "rabbits"	
  }}	
  
	
  	
  	
  	
  ]}},	
  
	
  	
  	
  	
  {	
  "bool":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  	
  "should":	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  	
  	
  "quick"	
  }},	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "content":	
  "quick"	
  }}	
  
	
  	
  	
  	
  ]}}	
  
	
  	
  ],	
  
	
  	
  "must_not":	
  {	
  "term":	
  {	
  "content":	
  "fox"	
  }}	
  
}
cached
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
result	
  bitset	
  =	
  	
  	
  	
  	
  	
  	
  
!
	
  	
  	
  	
  	
  (title:rabbits	
  OR	
  content:rabbits)	
  
	
  	
  AND	
  
	
  	
  	
  	
  	
  (title:quick	
  	
  	
  OR	
  content:quick)	
  
	
  	
  AND	
  
	
  	
  	
  	
  	
  NOT	
  content:fox	
  
	
  	
  	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
filters
• boolean yes/no
• exact values
• cached
• faster
Filter first, then query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
how relevant is this term?
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
how relevant is this term?
term query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
≈ term filter + relevance
how relevant is this term?
term query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  "term":	
  	
  {	
  	
  
	
  	
  	
  	
  	
  "title":	
  "brown"	
  	
  
	
  	
  }
how relevant is this term?
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  	
  "query":	
  {	
  
!
!
!
	
  	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
GET	
  /_search
{	
  
	
  	
  	
  "query":	
  {	
  
	
  	
  	
  	
  	
  	
  "term":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "title":	
  "brown"	
  	
  
	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  	
  	
  "_index":	
  "myindex",	
  
	
  	
  	
  	
  "_type":	
  	
  "mytype",	
  
	
  	
  	
  	
  "_id":	
  	
  	
  	
  "1",	
  
	
  	
  	
  	
  "_score":	
  0.5,	
  
	
  	
  	
  	
  "_source":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  	
  	
  	
  	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
	
  	
  	
  	
  }	
  
}	
  
how relevant is this doc?
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
relevance score
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
relevance score
How common is the term in this doc?
➔ more is better
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
relevance score
How common is the term in this doc?
➔ more is better
How common is the term in ALL docs?
➔ less is better
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
relevance score
How common is the term in this doc?
➔ more is better
How common is the term in ALL docs?
➔ less is better
How long is this doc?
➔ shorter is better
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
lucene similarity
How common is the term in this doc?
➔ more is better
How common is the term in ALL docs?
➔ less is better
How long is this doc?
➔ shorter is better
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
lucene similarity
How common is the term in this doc?
➔ more is better
How common is the term in ALL docs?
➔ less is better
How long is this doc?
➔ shorter is better
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term frequency
!
How common is the term in ALL docs?
➔ less is better
How long is this doc?
➔ shorter is better
lucene similarity
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term frequency
!
How common is the term in ALL docs?
➔ less is better
How long is this doc?
➔ shorter is better
lucene similarity
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term frequency
!
Inverse document frequency
!
How long is this doc?
➔ shorter is better
lucene similarity
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term frequency
!
Inverse document frequency
!
How long is this doc?
➔ shorter is better
lucene similarity
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Term frequency
!
Inverse document frequency
!
Length norm
lucene similarity
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
AND	
  …	
  OR	
  …	
  NOT
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
AND	
  …	
  OR	
  …	
  NOT
bool query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
like bool filter, but different...
AND	
  …	
  OR	
  …	
  NOT
bool query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  	
  	
  	
  	
  [	
  <queries>	
  ],	
  #	
  AND	
  
	
  	
  "should":	
  	
  	
  [	
  <queries>	
  ],	
  
	
  	
  "must_not":	
  [	
  <queries>	
  ]	
  	
  #	
  NOT	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  	
  	
  	
  	
  [	
  <queries>	
  ],	
  #	
  AND	
  
	
  	
  "should":	
  	
  	
  [	
  <queries>	
  ],	
  #	
  Hmmm	
  
	
  	
  "must_not":	
  [	
  <queries>	
  ]	
  	
  #	
  NOT	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  	
  
	
  	
  "must":	
  	
  	
  	
  	
  [	
  <queries>	
  ],	
  #	
  AND	
  
	
  	
  "should":	
  	
  	
  [	
  <queries>	
  ],	
  #	
  Hmmm	
  
	
  	
  "must_not":	
  [	
  <queries>	
  ],	
  #	
  NOT	
  
	
  	
  "minimum_should_match":	
  ?	
  	
  #	
  Hmmm	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
no "must" queries
"bool":	
  	
  {	
  
	
  "should":	
  	
  	
  [	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }}	
  
	
  	
  ]	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
no "must" queries
at least one must match
"bool":	
  	
  {	
  
	
  "should":	
  	
  	
  [	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }}	
  
	
  	
  ]	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
no "must" queries
minimum_should_match = 1
"bool":	
  	
  {	
  
	
  "should":	
  	
  	
  [	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }}	
  
	
  	
  ]	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  
	
  	
  "must":	
  {	
  "term":	
  {	
  "title":	
  "quick"}},	
  	
  
	
  	
  "should":	
  	
  	
  [	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }}	
  
	
  	
  ]	
  
}	
  
with "must" queries
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  
	
  	
  "must":	
  {	
  "term":	
  {	
  "title":	
  "quick"}},	
  	
  
	
  	
  "should":	
  	
  	
  [	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }}	
  
	
  	
  ]	
  
}	
  
with "must" queries
all are optional!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  	
  {	
  
	
  	
  "must":	
  {	
  "term":	
  {	
  "title":	
  "quick"}},	
  	
  
	
  	
  "should":	
  	
  	
  [	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }}	
  
	
  	
  ]	
  
}	
  
with "must" queries
minimum_should_match = 0
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
bool	
  filter	
  ➔	
  T/F	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
bool	
  filter	
  ➔	
  T/F	
  
!
bool	
  query	
  	
  ➔	
  _score
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
_score	
  of	
  bool	
  query	
  =	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
_score	
  of	
  bool	
  query	
  =	
  
	
  	
  	
  sum(	
  _score	
  of	
  each	
  query)	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
_score	
  of	
  bool	
  query	
  =	
  
	
  	
  	
  sum(	
  _score	
  of	
  each	
  query)	
  
	
  	
  	
  *	
  num	
  of	
  matching	
  queries	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
_score	
  of	
  bool	
  query	
  =	
  
	
  	
  	
  sum(	
  _score	
  of	
  each	
  query)	
  
	
  	
  	
  *	
  num	
  of	
  matching	
  queries	
  
	
  	
  	
  /	
  num	
  of	
  queries	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
more matching should queries
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
more matching should queries
==
better relevance score
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
trim the long tail
"bool":	
  	
  {	
  
	
  "should":	
  	
  	
  [	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }}	
  
	
  	
  ]	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
trim the long tail
"bool":	
  	
  {	
  
	
  "should":	
  	
  	
  [	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }}	
  
	
  	
  ],	
  
	
  	
  "minimum_should_match":	
  "75%"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
trim the long tail
"bool":	
  	
  {	
  
	
  "should":	
  	
  	
  [	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "rabbits"	
  }}	
  
	
  	
  ],	
  
	
  	
  "minimum_should_match":	
  "75%"	
  #	
  2	
  of	
  3	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
match query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
match query
high level query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
match query
high level query
understands mapping & analysis
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
match query
➔ analyze query string
➔ rewrite query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
one word query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  "match":	
  	
  {	
  "title":	
  "QUICK!"	
  }}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  "match":	
  	
  {	
  "title":	
  "QUICK!"	
  }}
title:quick
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  "match":	
  	
  {	
  "title":	
  "QUICK!"	
  }}
title:quick
{	
  "term":	
  	
  {	
  "title":	
  "quick"	
  }}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
multi word query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  "match":	
  	
  {	
  "title":	
  "QUICK	
  FOX!"	
  }}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  "match":	
  	
  {	
  "title":	
  "QUICK	
  FOX!"	
  }}
title:quick	
  OR	
  title:fox
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  "match":	
  	
  {	
  "title":	
  "QUICK	
  FOX!"	
  }}
title:quick	
  OR	
  title:fox
{	
  "bool":	
  {	
  
	
  	
  	
  	
  "should":	
  [	
  
	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "fox"	
  	
  	
  }}	
  
	
  	
  	
  	
  ]	
  
}}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
all words must match
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "match":	
  	
  {	
  	
  
	
  	
  	
  	
  "title":	
  "QUICK	
  FOX!"	
  
	
  	
  }	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "match":	
  	
  {	
  	
  
	
  	
  	
  	
  "title":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  	
  	
  "QUICK	
  FOX!",	
  
!
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "match":	
  	
  {	
  	
  
	
  	
  	
  	
  "title":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  	
  	
  	
  "QUICK	
  FOX!",	
  
	
  	
  	
  	
  	
  	
  "operator":	
  "and"	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "bool":	
  {	
  
	
  	
  	
  	
  "should":	
  [	
  
	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "fox"	
  	
  	
  }}	
  
	
  	
  	
  	
  ]	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "bool":	
  {	
  
	
  	
  	
  	
  "must":	
  [	
  
	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "fox"	
  	
  	
  }}	
  
	
  	
  	
  	
  ]	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
trim long tail
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "match":	
  	
  {	
  	
  
	
  	
  	
  	
  "title":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  "QUICK	
  BROWN	
  FOX!",	
  
	
  	
  	
  	
  	
  	
  "minimum_should_match":	
  "75%"	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "bool":	
  {	
  
	
  	
  	
  	
  "should":	
  [	
  
	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "quick"	
  }},	
  
	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "brown"	
  }},	
  
	
  	
  	
  	
  	
  	
  {	
  "term":	
  {	
  "title":	
  "fox"	
  	
  	
  }}	
  
	
  	
  	
  	
  ],	
  
	
  	
  	
  	
  "minimum_should_match":	
  2	
  
	
  	
  }	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
fuzzy queries
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
fuzzy queries
levenshtein edit distance
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
bron	
  	
  	
  ➔	
  	
  	
  	
  brown
insertion
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
bron	
  	
  	
  ➔	
  	
  	
  	
  brown
foxs	
  	
  	
  ➔	
  	
  	
  	
  fox
deletion
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
bron	
  	
  	
  ➔	
  	
  	
  	
  brown
foxs	
  	
  	
  ➔	
  	
  	
  	
  fox
kiuck	
  	
  	
  ➔	
  	
  	
  qiuck
substitution
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
bron	
  	
  	
  ➔	
  	
  	
  	
  brown
foxs	
  	
  	
  ➔	
  	
  	
  	
  fox
kiuck	
  	
  	
  ➔	
  	
  	
  qiuck	
  	
  ➔	
  	
  quick
transposition
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "match":	
  	
  {	
  	
  
	
  	
  	
  	
  "title":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  "KIUCK	
  BRON	
  FOXS!",	
  
	
  	
  	
  	
  	
  	
  "fuzziness":	
  "AUTO"	
  
	
  	
  	
  	
  }	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
phrase / proximity
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "match_phrase":	
  	
  {	
  	
  
	
  	
  	
  	
  "title":"QUICK	
  BROWN	
  FOX!"	
  
	
  	
  }	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  	
  
	
  	
  "match_phrase":	
  	
  {	
  	
  
	
  	
  	
  	
  "title":	
  {	
  
	
  	
  	
  	
  	
  	
  "query":	
  "BROWN	
  QUICK	
  FOX!",	
  
	
  	
  	
  	
  	
  	
  "slop":	
  	
  "10"	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
combine queries
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  {	
  
	
  	
  "must":	
  {	
  <min_should_match>	
  },	
  
	
  	
  "should":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  	
  <fuzzy>	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  <proximity>	
  	
  	
  	
  }	
  
	
  	
  ]	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  {	
  
	
  	
  "must":	
  {	
  <min_should_match>	
  },	
  
	
  	
  "should":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  	
  <fuzzy>	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  <proximity>	
  	
  	
  	
  }	
  
	
  	
  ]	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
!
	
  	
  	
  	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  "title":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "query":	
  "<words>",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "minimum_should_match":	
  "75%"	
  
	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  {	
  
	
  	
  "must":	
  {	
  <min_should_match>	
  },	
  
	
  	
  "should":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  	
  <fuzzy>	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  <proximity>	
  	
  	
  	
  }	
  
	
  	
  ]	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
!
	
  	
  	
  "match":	
  {	
  
	
  	
  	
  	
  	
  "title":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  "query":	
  "<words>",	
  
	
  	
  	
  	
  	
  	
  	
  "fuzziness":	
  "AUTO"	
  
	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  {	
  
	
  	
  "must":	
  {	
  <min_should_match>	
  },	
  
	
  	
  "should":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  	
  <fuzzy>	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  <proximity>	
  	
  	
  	
  }	
  
	
  	
  ]	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
!
	
  	
  "match_phrase":	
  {	
  
	
  	
  	
  	
  	
  "title":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  "query":	
  "<words>",	
  
	
  	
  	
  	
  	
  	
  	
  "slop":	
  "10"	
  
	
  	
  	
  	
  	
  }	
  
	
  	
  	
  }	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  {	
  
	
  	
  "must":	
  {	
  <min_should_match>	
  },	
  
	
  	
  "should":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  	
  <fuzzy>	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  	
  	
  	
  	
  <proximity>	
  	
  	
  	
  }	
  
	
  	
  ]	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
multi-field queries
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
easy!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  {	
  
	
  	
  "should":	
  [	
  
	
  	
  	
  	
  {	
  "match":	
  {"first":	
  	
  "Reginald"	
  }},	
  
	
  	
  	
  	
  {	
  "match":	
  {"middle":	
  "Kenneth"	
  	
  }},	
  
	
  	
  	
  	
  {	
  "match":	
  {"last":	
  	
  	
  "Dwight"	
  	
  	
  }}	
  
	
  	
  	
  	
  ],	
  
	
  	
  	
  	
  "minimum_should_match":	
  "75%"	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
hard!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  {	
  
	
  	
  "should":	
  [	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "title":	
  	
  "quick	
  brown	
  fox"	
  	
  
	
  	
  	
  	
  }},	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "content":	
  "quick	
  brown	
  fox"	
  	
  	
  
	
  	
  	
  	
  }}	
  
	
  	
  ]	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
better match
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
But 2 matches wins
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
dis_max query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
all docs which match any query
dis_max query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
all docs which match any query
dis_max query
_score	
  =	
  best	
  matching	
  query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"bool":	
  {	
  
	
  	
  "should":	
  [	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "title":	
  	
  "quick	
  brown	
  fox"	
  	
  
	
  	
  	
  	
  }},	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "content":	
  "quick	
  brown	
  fox"	
  	
  	
  
	
  	
  	
  	
  }}	
  
	
  	
  ]	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"dis_max":	
  {	
  
	
  	
  "queries":	
  [	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "title":	
  	
  "quick	
  brown	
  fox"	
  	
  
	
  	
  	
  	
  }},	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "content":	
  "quick	
  brown	
  fox"	
  	
  	
  
	
  	
  	
  	
  }}	
  
	
  	
  ]	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "title":	
  	
  	
  "Quick	
  brown	
  rabbits",	
  
	
  	
  "content":	
  "Brown	
  rabbits	
  are	
  commonly	
  seen"	
  
}
{	
  
	
  	
  "title":	
  	
  	
  "Keeping	
  pets	
  healthy",	
  
	
  	
  "content":	
  "My	
  quick	
  brown	
  fox	
  eats	
  rabbits	
  on	
  a	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  regular	
  basis"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"dis_max":	
  {	
  
	
  	
  "queries":	
  [	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "title":	
  	
  "quick	
  brown	
  fox"	
  	
  
	
  	
  	
  	
  }},	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "content":	
  "quick	
  brown	
  fox"	
  	
  	
  
	
  	
  	
  	
  }}	
  
	
  	
  ],	
  
	
  	
  "tie_breaker":	
  0.2	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
all docs which match any query
dis_max query
_score	
  =	
  best	
  matching	
  query	
  	
  
+	
  tie_breaker	
  *	
  others
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
multi_match query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
match query on multiple fields
multi_match query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"dis_max":	
  {	
  
	
  	
  "queries":	
  [	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "title":	
  	
  "quick	
  brown	
  fox"	
  	
  
	
  	
  	
  	
  }},	
  
	
  	
  	
  	
  {	
  "match":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "content":	
  "quick	
  brown	
  fox"	
  	
  	
  
	
  	
  	
  	
  }}	
  
	
  	
  ],	
  
	
  	
  "tie_breaker":	
  0.2	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"multi_match":	
  {	
  
	
  	
  "query":	
  	
  	
  	
  	
  	
  "quick	
  brown	
  fox",	
  
	
  	
  "fields":	
  	
  	
  [	
  "title",	
  "content"	
  ]	
  
	
  	
  "tie_breaker":	
  0.2	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"multi_match":	
  {	
  
	
  	
  "query":	
  	
  	
  	
  	
  	
  "quick	
  brown	
  fox",	
  
	
  	
  "fields":	
  	
  	
  [	
  "title",	
  "content"	
  ]	
  
	
  	
  "tie_breaker":	
  0.2,	
  
#	
  "type":	
  	
  	
  	
  	
  	
  	
  "best_fields"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
best_fields
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
find whole "concept" in one field
best_fields
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"quick brown fox" in title or content
best_fields
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
best_fields
dis_max
"quick brown fox" in title or content
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"title":	
  {	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  	
  	
  "string"	
  
}	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"title":	
  {	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  	
  	
  "string",	
  
	
  	
  "fields":	
  {	
  
!
!
!
!
!
!
!
}}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"title":	
  {	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  	
  	
  "string",	
  
	
  	
  "fields":	
  {	
  
	
  	
  	
  	
  "stemmed":	
  {	
  
	
  	
  	
  	
  	
  	
  "type":	
  	
  	
  	
  	
  "string",	
  
	
  	
  	
  	
  	
  	
  "analyzer":	
  "english"	
  
	
  	
  	
  	
  }	
  
!
!
!
}}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"title":	
  {	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  	
  	
  "string",	
  
	
  	
  "fields":	
  {	
  
	
  	
  	
  	
  "stemmed":	
  {	
  
	
  	
  	
  	
  	
  	
  "type":	
  	
  	
  	
  	
  "string",	
  
	
  	
  	
  	
  	
  	
  "analyzer":	
  "english"	
  
	
  	
  	
  	
  },	
  
	
  	
  	
  	
  "autocomplete":	
  {	
  
	
  	
  	
  	
  	
  	
  "type":	
  	
  	
  	
  	
  "string",	
  
	
  	
  	
  	
  	
  	
  "analyzer":	
  "edge_ngrams"	
  
}}}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
title:	
  
	
  	
  [	
  brown,	
  fox,	
  jumped	
  ]	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
title:	
  
	
  	
  [	
  brown,	
  fox,	
  jumped	
  ]	
  
!
title.stemmed:	
  
	
  	
  [	
  brown,	
  fox,	
  jump	
  ]	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
title:	
  
	
  	
  [	
  brown,	
  fox,	
  jumped	
  ]	
  
!
title.stemmed:	
  
	
  	
  [	
  brown,	
  fox,	
  jump	
  ]	
  
!
title.autocomplete	
  
	
  	
  [	
  b,	
  br,	
  bro,	
  brow,	
  brown,	
  	
  
	
  	
  	
  	
  f,	
  fo,	
  fox,	
  
	
  	
  	
  	
  j,	
  ju,	
  jum,	
  jump,	
  jumpe,	
  jumped	
  
	
  	
  ]	
  
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"multi_match":	
  {	
  
	
  	
  "query":	
  	
  	
  	
  	
  	
  "quick	
  brown	
  fox",	
  
	
  	
  "fields":	
  	
  	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "title",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "title.stemmed",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "title.autocomplete"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  "most_fields"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
most_fields
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
most_fields
match same text
analyzed in different ways
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
most_fields
more matching fields = better
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
most_fields
bool
more matching fields = better
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
{	
  
	
  	
  "first":	
  	
  "Reginald",	
  
	
  	
  "middle":	
  "Kenneth"	
  
	
  	
  "last":	
  	
  	
  "Dwight"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"multi_match":	
  {	
  
	
  	
  "query":	
  "Reginald	
  Kenneth	
  Dwight",	
  
	
  	
  "fields":	
  	
  	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "first",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "middle",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "last"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
!
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"multi_match":	
  {	
  
	
  	
  "query":	
  "Reginald	
  Kenneth	
  Dwight",	
  
	
  	
  "fields":	
  	
  	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "first",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "middle",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "last"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  "????"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"multi_match":	
  {	
  
	
  	
  "query":	
  "Reginald	
  Kenneth	
  Dwight",	
  
	
  	
  "fields":	
  	
  	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "first",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "middle",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "last"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  "most_fields"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"multi_match":	
  {	
  
	
  	
  "query":	
  "Reginald	
  Kenneth	
  Dwight",	
  
	
  	
  "fields":	
  	
  	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "first",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "middle",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "last"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  "most_fields"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
problem
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
problem
field centric
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
(	
  	
  	
  	
  	
  first:	
  Reginald	
  	
  
	
  	
  OR	
  	
  first:	
  Kenneth	
  	
  
	
  	
  OR	
  	
  first:	
  Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  middle:Reginald	
  	
  
	
  	
  OR	
  	
  middle:Kenneth	
  	
  
	
  	
  OR	
  	
  middle:Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  last:	
  	
  Reginald	
  	
  
	
  	
  OR	
  	
  last:	
  	
  Kenneth	
  	
  
	
  	
  OR	
  	
  last:	
  	
  Dwight	
  
)
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
(	
  	
  	
  	
  	
  first:	
  Reginald	
  	
  
	
  	
  OR	
  	
  first:	
  Kenneth	
  	
  
	
  	
  OR	
  	
  first:	
  Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  middle:Reginald	
  	
  
	
  	
  OR	
  	
  middle:Kenneth	
  	
  
	
  	
  OR	
  	
  middle:Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  last:	
  	
  Reginald	
  	
  
	
  	
  OR	
  	
  last:	
  	
  Kenneth	
  	
  
	
  	
  OR	
  	
  last:	
  	
  Dwight	
  
)
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
problem
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
problem
operator: and
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
(	
  	
  	
  	
  	
  first:	
  Reginald	
  	
  
	
  	
  AND	
  first:	
  Kenneth	
  	
  
	
  	
  AND	
  first:	
  Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  middle:Reginald	
  	
  
	
  	
  AND	
  middle:Kenneth	
  	
  
	
  	
  AND	
  middle:Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  last:	
  	
  Reginald	
  	
  
	
  	
  AND	
  last:	
  	
  Kenneth	
  	
  
	
  	
  AND	
  last:	
  	
  Dwight	
  
)
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
(	
  	
  	
  	
  	
  first:	
  Reginald	
  	
  
	
  	
  AND	
  first:	
  Kenneth	
  	
  
	
  	
  AND	
  first:	
  Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  middle:Reginald	
  	
  
	
  	
  AND	
  middle:Kenneth	
  	
  
	
  	
  AND	
  middle:Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  last:	
  	
  Reginald	
  	
  
	
  	
  AND	
  last:	
  	
  Kenneth	
  	
  
	
  	
  AND	
  last:	
  	
  Dwight	
  
)
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
problem
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
problem
term frequencies
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
problem
term frequencies
first:dwight	
  	
  ➔	
  common
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
problem
term frequencies
first:dwight	
  	
  ➔	
  common
last:	
  dwight	
  	
  ➔	
  uncommon
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
solution
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
index time solution
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
index time solution
single "fullname" field
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"first":	
  {	
  	
  
	
  	
  	
  	
  "type":	
  "string"	
  
},	
  
"middle":	
  {	
  	
  
	
  	
  	
  	
  "type":	
  "string"	
  
},	
  
"last":	
  {	
  	
  
	
  	
  	
  	
  "type":	
  "string"	
  
}	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"first":	
  {	
  	
  
	
  	
  	
  	
  "type":	
  "string"	
  
},	
  
"middle":	
  {	
  	
  
	
  	
  	
  	
  "type":	
  "string"	
  
},	
  
"last":	
  {	
  	
  
	
  	
  	
  	
  "type":	
  "string"	
  
},	
  
"full":	
  {	
  
	
  	
  	
  	
  "type":	
  "string"	
  	
  
}	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"first":	
  {	
  	
  
	
  	
  	
  	
  "type":	
  "string",	
  "copy_to":	
  "full"	
  	
  
},	
  
"middle":	
  {	
  	
  
	
  	
  	
  	
  "type":	
  "string",	
  "copy_to":	
  "full"	
  	
  
},	
  
"last":	
  {	
  	
  
	
  	
  	
  	
  "type":	
  "string",	
  "copy_to":	
  "full"	
  	
  
},	
  
"full":	
  {	
  
	
  	
  	
  	
  "type":	
  "string"	
  	
  
}	
  
!
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"match":	
  {	
  
	
  	
  "full":	
  "Reginald	
  Kenneth	
  Dwight",	
  
	
  	
  "minimum_should_match":	
  "75%"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
query time solution
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
query time solution
term-centric query
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
(	
  	
  	
  	
  	
  first:	
  Reginald	
  	
  
	
  	
  AND	
  first:	
  Kenneth	
  	
  
	
  	
  AND	
  first:	
  Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  middle:Reginald	
  	
  
	
  	
  AND	
  middle:Kenneth	
  	
  
	
  	
  AND	
  middle:Dwight	
  
)	
  OR	
  (	
  
	
  	
  	
  	
  	
  	
  last:	
  	
  Reginald	
  	
  
	
  	
  AND	
  last:	
  	
  Kenneth	
  	
  
	
  	
  AND	
  last:	
  	
  Dwight	
  
)
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
(	
  	
  	
  	
  	
  first:	
  Reginald	
  	
  
	
  	
  OR	
  	
  middle:Reginald	
  	
  
	
  	
  OR	
  	
  last:	
  	
  Reginald	
  	
  
)	
  AND	
  (	
  
	
  	
  	
  	
  	
  	
  first:	
  Kenneth	
  	
  
	
  	
  OR	
  	
  middle:Kenneth	
  	
  
	
  	
  OR	
  	
  last:	
  	
  Kenneth	
  	
  
)	
  AND	
  (	
  
	
  	
  	
  	
  	
  	
  first:	
  Dwight	
  
	
  	
  OR	
  	
  middle:Dwight	
  
	
  	
  OR	
  	
  last:	
  	
  Dwight	
  
)
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  	
  	
  blend(first,middle,last):Reginald	
  
AND	
  blend(first,middle,last):Kenneth	
  
AND	
  blend(first,middle,last):Dwight
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
	
  	
  	
  	
  blend(first,middle,last):Reginald	
  
AND	
  blend(first,middle,last):Kenneth	
  
AND	
  blend(first,middle,last):Dwight
blends term frequencies
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
cross_fields
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
cross_fields
query multiple fields
as if they were one
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"multi_match":	
  {	
  
	
  	
  "query":	
  "Reginald	
  Kenneth	
  Dwight",	
  
	
  	
  "fields":	
  	
  	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "first",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "middle",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "last"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  "cross_fields"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
"multi_match":	
  {	
  
	
  	
  "query":	
  "Reginald	
  Kenneth	
  Dwight",	
  
	
  	
  "fields":	
  	
  	
  [	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "first",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "middle",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "last"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
	
  	
  "type":	
  	
  	
  	
  	
  	
  	
  "cross_fields",	
  
	
  	
  "minimum_should_match":	
  "75%"	
  
}
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
best_fields:
whole concept in single field
most_fields:
same text, different analyzers
cross_fields:
treat multiple fields as one
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
understand the
building blocks
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
the rest is details
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
thank you
@clintongormley
Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
thank you
@clintongormley
elasticsearch.org/downloads
elasticsearch.com/support
elasticsearch.com/jobs	
  	
  

More Related Content

What's hot

Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Angel Alberici
 
SAP hybris Caching and Monitoring
SAP hybris Caching and MonitoringSAP hybris Caching and Monitoring
SAP hybris Caching and MonitoringZhuo Huang
 
Introduction to Apache Sqoop
Introduction to Apache SqoopIntroduction to Apache Sqoop
Introduction to Apache SqoopAvkash Chauhan
 
Introduction to Kafka connect
Introduction to Kafka connectIntroduction to Kafka connect
Introduction to Kafka connectKnoldus Inc.
 
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...NoSQLmatters
 
Table partitioning in PostgreSQL + Rails
Table partitioning in PostgreSQL + RailsTable partitioning in PostgreSQL + Rails
Table partitioning in PostgreSQL + RailsAgnieszka Figiel
 
Migrating to mule 4 - Are you ready for This.
Migrating to mule 4 - Are you ready for This.Migrating to mule 4 - Are you ready for This.
Migrating to mule 4 - Are you ready for This.Harish Kumar
 
Kubernetes Security with Calico and Open Policy Agent
Kubernetes Security with Calico and Open Policy AgentKubernetes Security with Calico and Open Policy Agent
Kubernetes Security with Calico and Open Policy AgentCloudOps2005
 
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)Prashanth Kurimella
 
Handing Failure With Grace in Kafka Streams With Walker Carlson | Current 2022
Handing Failure With Grace in Kafka Streams With Walker Carlson | Current 2022Handing Failure With Grace in Kafka Streams With Walker Carlson | Current 2022
Handing Failure With Grace in Kafka Streams With Walker Carlson | Current 2022HostedbyConfluent
 
Log analysis using elk
Log analysis using elkLog analysis using elk
Log analysis using elkRushika Shah
 
10 things to consider when planning your Mule 4 migration
10 things to consider when planning your Mule 4 migration10 things to consider when planning your Mule 4 migration
10 things to consider when planning your Mule 4 migrationCoforge (Erstwhile WHISHWORKS)
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?VMware Tanzu Korea
 
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the FieldKafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Fieldconfluent
 
Microsoft Azure IaaS and Terraform
Microsoft Azure IaaS and TerraformMicrosoft Azure IaaS and Terraform
Microsoft Azure IaaS and TerraformAlex Mags
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache SolrChristos Manios
 
Monitoring MySQL with Prometheus and Grafana
Monitoring MySQL with Prometheus and GrafanaMonitoring MySQL with Prometheus and Grafana
Monitoring MySQL with Prometheus and GrafanaJulien Pivotto
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
 

What's hot (20)

Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
 
Apache NiFi in the Hadoop Ecosystem
Apache NiFi in the Hadoop Ecosystem Apache NiFi in the Hadoop Ecosystem
Apache NiFi in the Hadoop Ecosystem
 
SAP hybris Caching and Monitoring
SAP hybris Caching and MonitoringSAP hybris Caching and Monitoring
SAP hybris Caching and Monitoring
 
Introduction to Apache Sqoop
Introduction to Apache SqoopIntroduction to Apache Sqoop
Introduction to Apache Sqoop
 
Introduction to Kafka connect
Introduction to Kafka connectIntroduction to Kafka connect
Introduction to Kafka connect
 
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
 
Table partitioning in PostgreSQL + Rails
Table partitioning in PostgreSQL + RailsTable partitioning in PostgreSQL + Rails
Table partitioning in PostgreSQL + Rails
 
Migrating to mule 4 - Are you ready for This.
Migrating to mule 4 - Are you ready for This.Migrating to mule 4 - Are you ready for This.
Migrating to mule 4 - Are you ready for This.
 
Kubernetes Security with Calico and Open Policy Agent
Kubernetes Security with Calico and Open Policy AgentKubernetes Security with Calico and Open Policy Agent
Kubernetes Security with Calico and Open Policy Agent
 
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
MuleSoft Deployment Strategies (RTF vs Hybrid vs CloudHub)
 
Handing Failure With Grace in Kafka Streams With Walker Carlson | Current 2022
Handing Failure With Grace in Kafka Streams With Walker Carlson | Current 2022Handing Failure With Grace in Kafka Streams With Walker Carlson | Current 2022
Handing Failure With Grace in Kafka Streams With Walker Carlson | Current 2022
 
Log analysis using elk
Log analysis using elkLog analysis using elk
Log analysis using elk
 
10 things to consider when planning your Mule 4 migration
10 things to consider when planning your Mule 4 migration10 things to consider when planning your Mule 4 migration
10 things to consider when planning your Mule 4 migration
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
 
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the FieldKafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
 
Microsoft Azure IaaS and Terraform
Microsoft Azure IaaS and TerraformMicrosoft Azure IaaS and Terraform
Microsoft Azure IaaS and Terraform
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache Solr
 
Monitoring MySQL with Prometheus and Grafana
Monitoring MySQL with Prometheus and GrafanaMonitoring MySQL with Prometheus and Grafana
Monitoring MySQL with Prometheus and Grafana
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
API Design - 3rd Edition
API Design - 3rd EditionAPI Design - 3rd Edition
API Design - 3rd Edition
 

Viewers also liked

Introduction to Elasticsearch Searching
Introduction to Elasticsearch SearchingIntroduction to Elasticsearch Searching
Introduction to Elasticsearch SearchingBo Andersen
 
Introduction to Elasticsearch Mapping
Introduction to Elasticsearch MappingIntroduction to Elasticsearch Mapping
Introduction to Elasticsearch MappingBo Andersen
 
Elasticsearch Field Data Types
Elasticsearch Field Data TypesElasticsearch Field Data Types
Elasticsearch Field Data TypesBo Andersen
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to ElasticsearchBo Andersen
 
Hopper Elasticsearch Hackathon
Hopper Elasticsearch HackathonHopper Elasticsearch Hackathon
Hopper Elasticsearch Hackathonimotov
 
Down and dirty with Elasticsearch
Down and dirty with ElasticsearchDown and dirty with Elasticsearch
Down and dirty with Elasticsearchclintongormley
 

Viewers also liked (6)

Introduction to Elasticsearch Searching
Introduction to Elasticsearch SearchingIntroduction to Elasticsearch Searching
Introduction to Elasticsearch Searching
 
Introduction to Elasticsearch Mapping
Introduction to Elasticsearch MappingIntroduction to Elasticsearch Mapping
Introduction to Elasticsearch Mapping
 
Elasticsearch Field Data Types
Elasticsearch Field Data TypesElasticsearch Field Data Types
Elasticsearch Field Data Types
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Hopper Elasticsearch Hackathon
Hopper Elasticsearch HackathonHopper Elasticsearch Hackathon
Hopper Elasticsearch Hackathon
 
Down and dirty with Elasticsearch
Down and dirty with ElasticsearchDown and dirty with Elasticsearch
Down and dirty with Elasticsearch
 

Similar to Elasticsearch Query DSL - Not just for wizards...

Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...NoSQLmatters
 
Scaling real-time search and analytics with Elasticsearch
Scaling real-time search and analytics with ElasticsearchScaling real-time search and analytics with Elasticsearch
Scaling real-time search and analytics with Elasticsearchclintongormley
 
Making sense of your data to give new insight - Elasticsearch at Findability ...
Making sense of your data to give new insight - Elasticsearch at Findability ...Making sense of your data to give new insight - Elasticsearch at Findability ...
Making sense of your data to give new insight - Elasticsearch at Findability ...Findwise
 
OSMC 2014 | Using Elasticsearch, Logstash & Kibana in system administration b...
OSMC 2014 | Using Elasticsearch, Logstash & Kibana in system administration b...OSMC 2014 | Using Elasticsearch, Logstash & Kibana in system administration b...
OSMC 2014 | Using Elasticsearch, Logstash & Kibana in system administration b...NETWAYS
 
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...NETWAYS
 
Building Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScriptBuilding Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScript3scale
 
Scalabay - API Design Antipatterns
Scalabay - API Design AntipatternsScalabay - API Design Antipatterns
Scalabay - API Design AntipatternsManish Pandit
 
How to Build Interactive Training that Scales - Magnolia CMS Conference 2013
How to Build Interactive Training that Scales - Magnolia CMS Conference 2013How to Build Interactive Training that Scales - Magnolia CMS Conference 2013
How to Build Interactive Training that Scales - Magnolia CMS Conference 2013Mark Halvorson
 
Webcast: Pragmatic REST: The Next Generation
Webcast: Pragmatic REST: The Next GenerationWebcast: Pragmatic REST: The Next Generation
Webcast: Pragmatic REST: The Next GenerationApigee | Google Cloud
 
Keep it Secret, Keep it Safe - Docker Secrets and DI
Keep it Secret, Keep it Safe - Docker Secrets and DIKeep it Secret, Keep it Safe - Docker Secrets and DI
Keep it Secret, Keep it Safe - Docker Secrets and DIDana Luther
 
DefCamp 2013 - Http header analysis
DefCamp 2013 - Http header analysisDefCamp 2013 - Http header analysis
DefCamp 2013 - Http header analysisDefCamp
 

Similar to Elasticsearch Query DSL - Not just for wizards... (12)

Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
 
Scaling real-time search and analytics with Elasticsearch
Scaling real-time search and analytics with ElasticsearchScaling real-time search and analytics with Elasticsearch
Scaling real-time search and analytics with Elasticsearch
 
Making sense of your data to give new insight - Elasticsearch at Findability ...
Making sense of your data to give new insight - Elasticsearch at Findability ...Making sense of your data to give new insight - Elasticsearch at Findability ...
Making sense of your data to give new insight - Elasticsearch at Findability ...
 
OSMC 2014 | Using Elasticsearch, Logstash & Kibana in system administration b...
OSMC 2014 | Using Elasticsearch, Logstash & Kibana in system administration b...OSMC 2014 | Using Elasticsearch, Logstash & Kibana in system administration b...
OSMC 2014 | Using Elasticsearch, Logstash & Kibana in system administration b...
 
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
 
Building Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScriptBuilding Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScript
 
Introducing ElasticSearch - Ashish
Introducing ElasticSearch - AshishIntroducing ElasticSearch - Ashish
Introducing ElasticSearch - Ashish
 
Scalabay - API Design Antipatterns
Scalabay - API Design AntipatternsScalabay - API Design Antipatterns
Scalabay - API Design Antipatterns
 
How to Build Interactive Training that Scales - Magnolia CMS Conference 2013
How to Build Interactive Training that Scales - Magnolia CMS Conference 2013How to Build Interactive Training that Scales - Magnolia CMS Conference 2013
How to Build Interactive Training that Scales - Magnolia CMS Conference 2013
 
Webcast: Pragmatic REST: The Next Generation
Webcast: Pragmatic REST: The Next GenerationWebcast: Pragmatic REST: The Next Generation
Webcast: Pragmatic REST: The Next Generation
 
Keep it Secret, Keep it Safe - Docker Secrets and DI
Keep it Secret, Keep it Safe - Docker Secrets and DIKeep it Secret, Keep it Safe - Docker Secrets and DI
Keep it Secret, Keep it Safe - Docker Secrets and DI
 
DefCamp 2013 - Http header analysis
DefCamp 2013 - Http header analysisDefCamp 2013 - Http header analysis
DefCamp 2013 - Http header analysis
 

Recently uploaded

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Elasticsearch Query DSL - Not just for wizards...

  • 1. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Clinton Gormley @clintongormley Elasticsearch Query DSL … not just for wizards
  • 2. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
  • 3. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. elasticsearch.org/guide
  • 4. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. elasticsearch
  • 5. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. elasticsearch • real-time
  • 6. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. elasticsearch • real-time • distributed
  • 7. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. elasticsearch • real-time • distributed • search
  • 8. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. elasticsearch • real-time • distributed • search • analytics
  • 9. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. mapping
  • 10. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. mapping analysis
  • 11. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. mapping analysis query dsl
  • 12. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. mapping analysis query dsl
  • 13. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. query dsl
  • 14. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. query dsl flexible, powerful query language
  • 15. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. queries
  • 16. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. queries filters
  • 17. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. queries • relevance filters • boolean yes/no
  • 18. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. queries • relevance • full text filters • boolean yes/no • exact values
  • 19. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. queries • relevance • full text • not cached filters • boolean yes/no • exact values • cached
  • 20. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. queries • relevance • full text • not cached • slower filters • boolean yes/no • exact values • cached • faster
  • 21. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. queries • relevance • full text • not cached • slower filters • boolean yes/no • exact values • cached • faster Filter first, then query remaining docs
  • 22. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search
  • 23. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {...}   }  
  • 24. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {  "match":  {  "title":  "search"  }}   }  
  • 25. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {  match_all:  {}}   }  
  • 26. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {  match_all:  {}}   }  
  • 27. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {              "query":    {...},              "filter":  {...}          }      }   }  
  • 28. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {              "query":    {  "match":  {  "title":    "search"  }},              "filter":  {...}          }      }   }  
  • 29. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {              "query":    {  "match":  {  "title":    "search"  }},              "filter":  {  "term":    {  "status":  "active"  }}          }      }   }  
  • 30. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {              "query":    {  "match_all":  {}},              "filter":  {  "term":    {  "status":  "active"  }}          }      }   }  
  • 31. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {              "query":    {  "match_all":  {}},              "filter":  {  "term":    {  "status":  "active"  }}          }      }   }  
  • 32. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. how data is indexed
  • 33. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   }   !
  • 34. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   }   ! {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                              regular  basis"   }
  • 35. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   }   ! {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                              regular  basis"   } where content like “%brown%fox%”
  • 36. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   }   ! {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                              regular  basis"   } slow & inflexible
  • 37. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   }   ! {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                              regular  basis"   } “analysis”
  • 38. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   }   ! {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                              regular  basis"   }
  • 39. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      [quick,brown,rabbits],      "content":  [brown,rabbits,are,commonly,seen]   }   ! {      "title":      [keeping,pets,healthy],      "content":  [my,quick,brown,fox,eats,rabbits,on,a,                              regular,basis]   }
  • 40. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term Doc  1 Doc  2 a are basis brown commonly eats fox my on quick rabbits regular seen field: content sorted list of unique terms
  • 41. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term Doc  1 Doc  2 a are basis brown commonly eats fox my on quick rabbits regular seen field: content where they occur
  • 42. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term Doc  1 Doc  2 a are basis brown commonly eats fox my on quick rabbits regular seen field: content
  • 43. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term Doc  1 Doc  2 a are basis brown commonly eats fox my on quick rabbits regular seen field: content
  • 44. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. inverted index
  • 45. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. inverted index not just for text
  • 46. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. inverted index numbers, dates, bools, enums geopoints, geoshapes, etc
  • 47. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  =  "value"
  • 48. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  CONTAINS  "value"
  • 49. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  CONTAINS  "value" term filter
  • 50. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.    "term":    {              "title":  "brown"        } WHERE  field  CONTAINS  "value"
  • 51. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {   ! ! ! !    }   }  
  • 52. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {   ! !        }      }   }  
  • 53. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {              "query":    {                            ...                          },              "filter":  {                            ...                          }          }      }   }  
  • 54. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {              "query":    {  "match_all":  {}                            },              "filter":  {                            ...                          }          }      }   }  
  • 55. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {              "query":    {  "match_all":  {}                            },              "filter":  {                            ...                          }          }      }   }  
  • 56. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {      "query":  {          "filtered":  {              "query":    {  "match_all":  {}                            },              "filter":  {  "term":    {  "title":  "brown"  }}          }      }   }  
  • 57. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term Doc  1 Doc  2 brown healthy keeping pets quick rabbits field: title
  • 58. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term Doc  1 Doc  2 brown healthy keeping pets quick rabbits field: title
  • 59. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.    "term":  {  "title":  "brown"  }
  • 60. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.    "term":  {  "title":  "brown"  } ➔  result:      bitset[  1,  0  ]
  • 61. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.    "term":  {  "title":  "brown"  } ➔  result:      bitset[  1,  0  ] ➔  cache  as:  "title:brown"
  • 62. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  IN  ["val",…]
  • 63. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  IN  ["val",…] terms filter
  • 64. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.    "terms":    {              "title":  ["quick",  "pets"]        } WHERE  field  IN  ["val",…]
  • 65. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term Doc  1 Doc  2 brown healthy keeping pets quick rabbits field: title
  • 66. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.    "terms":  {  "title":  ["quick","pets"]  } ➔  result:      bitset[  1,  1  ] ➔  cache  as:  "title:quick  title:pets"
  • 67. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  >=  "val1"      AND  field  <    "val2"
  • 68. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  >=  "val1"      AND  field  <    "val2" range filter
  • 69. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.    "range":    {              "content":{                "gte":  "a",                "lt":    "m"            }      } WHERE  field  >=  "val1"      AND  field  <    "val2"
  • 70. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term Doc  1 Doc  2 a are basis brown commonly eats fox my on quick rabbits regular seen field: content
  • 71. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. ➔  result:      bitset[  1,  1  ] ➔  cache  as:  "content:[a  TO  m}"    "range":    {              "content":{  "gte":  "a",  "lt":    "m"  }      }
  • 72. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.  "range":    {              "date":{                  "gte":  "2014-­‐01-­‐01",                "lt":    "2041-­‐02-­‐01"            }      }
  • 73. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.  "range":    {              "date":{                  "gte":  "2014-­‐01-­‐01",                "lt":    "2041-­‐02-­‐01"            }      } numeric/date fields optimised for range filters
  • 74. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.  "range":    {              "date":{                  "gte":  "now  -­‐  1h"            }      }
  • 75. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.  "range":    {              "date":{                  "gte":  "now  -­‐  1h"            }      } not cached
  • 76. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.  "range":    {              "date":{                  "gte":  "now  -­‐  1h  /  h"            }      } cached
  • 77. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  IS  NOT  NULL
  • 78. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  has  any  term
  • 79. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. WHERE  field  has  any  term exists filter
  • 80. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "exists":    {        "field":  "title"   }   WHERE  field  has  any  term
  • 81. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. missing filter WHERE  field  has  no  term
  • 82. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "missing":    {        "field":  "title"   }   WHERE  field  has  no  term
  • 83. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. AND  …  OR  …  NOT
  • 84. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. AND  …  OR  …  NOT bool filter
  • 85. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":          [  <filters>  ],      "should":      [  <filters>  ],      "must_not":  [  <filters>  ]   }  
  • 86. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":          [  <filters>  ],  #  AND      "should":      [  <filters>  ],      "must_not":  [  <filters>  ]   }  
  • 87. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":          [  <filters>  ],      "should":      [  <filters>  ],  #  OR      "must_not":  [  <filters>  ]   }  
  • 88. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":          [  <filters>  ],      "should":      [  <filters>  ],      "must_not":  [  <filters>  ]    #  NOT   }  
  • 89. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":  {  "term":  {  "title":  "rabbits"  }},   ! ! ! ! ! }  
  • 90. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":  {  "term":  {  "title":  "rabbits"  }},      "should":  [            {  "term":  {  "title":      "quick"  }},          {  "term":  {  "content":  "quick"  }}      ],   ! }  
  • 91. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":  {  "term":  {  "title":  "rabbits"  }},      "should":  [            {  "term":  {  "title":      "quick"  }},          {  "term":  {  "content":  "quick"  }}      ],      "must_not":  {  "term":  {  "content":  "fox"  }}   }  
  • 92. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":  [          {  "bool":    {                "should":  [                    {  "term":  {  "title":      "rabbits"  }},                  {  "term":  {  "content":  "rabbits"  }}          ]}},          {  "bool":    {                "should":  [                    {  "term":  {  "title":      "quick"  }},                  {  "term":  {  "content":  "quick"  }}          ]}}      ],      "must_not":  {  "term":  {  "content":  "fox"  }}   }
  • 93. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":  [          {  "bool":    {                "should":  [                    {  "term":  {  "title":      "rabbits"  }},                  {  "term":  {  "content":  "rabbits"  }}          ]}},          {  "bool":    {                "should":  [                    {  "term":  {  "title":      "quick"  }},                  {  "term":  {  "content":  "quick"  }}          ]}}      ],      "must_not":  {  "term":  {  "content":  "fox"  }}   } not cached
  • 94. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":  [          {  "bool":    {                "should":  [                    {  "term":  {  "title":      "rabbits"  }},                  {  "term":  {  "content":  "rabbits"  }}          ]}},          {  "bool":    {                "should":  [                    {  "term":  {  "title":      "quick"  }},                  {  "term":  {  "content":  "quick"  }}          ]}}      ],      "must_not":  {  "term":  {  "content":  "fox"  }}   } cached
  • 95. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. result  bitset  =               !          (title:rabbits  OR  content:rabbits)      AND            (title:quick      OR  content:quick)      AND            NOT  content:fox        
  • 96. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. filters • boolean yes/no • exact values • cached • faster Filter first, then query
  • 97. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. how relevant is this term?
  • 98. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. how relevant is this term? term query
  • 99. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. ≈ term filter + relevance how relevant is this term? term query
  • 100. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.    "term":    {              "title":  "brown"        } how relevant is this term?
  • 101. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {        "query":  {   ! ! !      }   }  
  • 102. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. GET  /_search {        "query":  {              "term":  {                      "title":  "brown"                }        }   }  
  • 103. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {          "_index":  "myindex",          "_type":    "mytype",          "_id":        "1",          "_score":  0.5,          "_source":  {                "title":      "Quick  brown  rabbits",                "content":  "Brown  rabbits  are  commonly  seen"          }   }   how relevant is this doc?
  • 104. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. relevance score
  • 105. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. relevance score How common is the term in this doc? ➔ more is better
  • 106. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. relevance score How common is the term in this doc? ➔ more is better How common is the term in ALL docs? ➔ less is better
  • 107. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. relevance score How common is the term in this doc? ➔ more is better How common is the term in ALL docs? ➔ less is better How long is this doc? ➔ shorter is better
  • 108. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. lucene similarity How common is the term in this doc? ➔ more is better How common is the term in ALL docs? ➔ less is better How long is this doc? ➔ shorter is better
  • 109. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. lucene similarity How common is the term in this doc? ➔ more is better How common is the term in ALL docs? ➔ less is better How long is this doc? ➔ shorter is better
  • 110. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term frequency ! How common is the term in ALL docs? ➔ less is better How long is this doc? ➔ shorter is better lucene similarity
  • 111. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term frequency ! How common is the term in ALL docs? ➔ less is better How long is this doc? ➔ shorter is better lucene similarity
  • 112. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term frequency ! Inverse document frequency ! How long is this doc? ➔ shorter is better lucene similarity
  • 113. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term frequency ! Inverse document frequency ! How long is this doc? ➔ shorter is better lucene similarity
  • 114. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. Term frequency ! Inverse document frequency ! Length norm lucene similarity
  • 115. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. AND  …  OR  …  NOT
  • 116. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. AND  …  OR  …  NOT bool query
  • 117. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. like bool filter, but different... AND  …  OR  …  NOT bool query
  • 118. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":          [  <queries>  ],  #  AND      "should":      [  <queries>  ],      "must_not":  [  <queries>  ]    #  NOT   }  
  • 119. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":          [  <queries>  ],  #  AND      "should":      [  <queries>  ],  #  Hmmm      "must_not":  [  <queries>  ]    #  NOT   }  
  • 120. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {        "must":          [  <queries>  ],  #  AND      "should":      [  <queries>  ],  #  Hmmm      "must_not":  [  <queries>  ],  #  NOT      "minimum_should_match":  ?    #  Hmmm   }  
  • 121. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. no "must" queries "bool":    {    "should":      [          {  "term":  {  "title":  "quick"  }},          {  "term":  {  "title":  "brown"  }},          {  "term":  {  "title":  "rabbits"  }}      ]   }
  • 122. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. no "must" queries at least one must match "bool":    {    "should":      [          {  "term":  {  "title":  "quick"  }},          {  "term":  {  "title":  "brown"  }},          {  "term":  {  "title":  "rabbits"  }}      ]   }
  • 123. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. no "must" queries minimum_should_match = 1 "bool":    {    "should":      [          {  "term":  {  "title":  "quick"  }},          {  "term":  {  "title":  "brown"  }},          {  "term":  {  "title":  "rabbits"  }}      ]   }
  • 124. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {      "must":  {  "term":  {  "title":  "quick"}},        "should":      [          {  "term":  {  "title":  "brown"  }},          {  "term":  {  "title":  "rabbits"  }}      ]   }   with "must" queries
  • 125. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {      "must":  {  "term":  {  "title":  "quick"}},        "should":      [          {  "term":  {  "title":  "brown"  }},          {  "term":  {  "title":  "rabbits"  }}      ]   }   with "must" queries all are optional!
  • 126. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":    {      "must":  {  "term":  {  "title":  "quick"}},        "should":      [          {  "term":  {  "title":  "brown"  }},          {  "term":  {  "title":  "rabbits"  }}      ]   }   with "must" queries minimum_should_match = 0
  • 127. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. bool  filter  ➔  T/F   !
  • 128. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. bool  filter  ➔  T/F   ! bool  query    ➔  _score
  • 129. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. _score  of  bool  query  =  
  • 130. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. _score  of  bool  query  =        sum(  _score  of  each  query)  
  • 131. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. _score  of  bool  query  =        sum(  _score  of  each  query)        *  num  of  matching  queries  
  • 132. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. _score  of  bool  query  =        sum(  _score  of  each  query)        *  num  of  matching  queries        /  num  of  queries  
  • 133. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. more matching should queries
  • 134. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. more matching should queries == better relevance score
  • 135. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. trim the long tail "bool":    {    "should":      [          {  "term":  {  "title":  "quick"  }},          {  "term":  {  "title":  "brown"  }},          {  "term":  {  "title":  "rabbits"  }}      ]   }
  • 136. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. trim the long tail "bool":    {    "should":      [          {  "term":  {  "title":  "quick"  }},          {  "term":  {  "title":  "brown"  }},          {  "term":  {  "title":  "rabbits"  }}      ],      "minimum_should_match":  "75%"   }
  • 137. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. trim the long tail "bool":    {    "should":      [          {  "term":  {  "title":  "quick"  }},          {  "term":  {  "title":  "brown"  }},          {  "term":  {  "title":  "rabbits"  }}      ],      "minimum_should_match":  "75%"  #  2  of  3   }
  • 138. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. match query
  • 139. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. match query high level query
  • 140. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. match query high level query understands mapping & analysis
  • 141. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. match query ➔ analyze query string ➔ rewrite query
  • 142. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. one word query
  • 143. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {  "match":    {  "title":  "QUICK!"  }}
  • 144. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {  "match":    {  "title":  "QUICK!"  }} title:quick
  • 145. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {  "match":    {  "title":  "QUICK!"  }} title:quick {  "term":    {  "title":  "quick"  }}
  • 146. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. multi word query
  • 147. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {  "match":    {  "title":  "QUICK  FOX!"  }}
  • 148. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {  "match":    {  "title":  "QUICK  FOX!"  }} title:quick  OR  title:fox
  • 149. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {  "match":    {  "title":  "QUICK  FOX!"  }} title:quick  OR  title:fox {  "bool":  {          "should":  [              {  "term":  {  "title":  "quick"  }},              {  "term":  {  "title":  "fox"      }}          ]   }}  
  • 150. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. all words must match
  • 151. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "match":    {            "title":  "QUICK  FOX!"      }   }
  • 152. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "match":    {            "title":  {              "query":        "QUICK  FOX!",   !        }      }   }
  • 153. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "match":    {            "title":  {              "query":        "QUICK  FOX!",              "operator":  "and"          }      }   }
  • 154. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "bool":  {          "should":  [              {  "term":  {  "title":  "quick"  }},              {  "term":  {  "title":  "fox"      }}          ]      }   }  
  • 155. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "bool":  {          "must":  [              {  "term":  {  "title":  "quick"  }},              {  "term":  {  "title":  "fox"      }}          ]      }   }  
  • 156. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. trim long tail
  • 157. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "match":    {            "title":  {              "query":  "QUICK  BROWN  FOX!",              "minimum_should_match":  "75%"          }      }   }
  • 158. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "bool":  {          "should":  [              {  "term":  {  "title":  "quick"  }},              {  "term":  {  "title":  "brown"  }},              {  "term":  {  "title":  "fox"      }}          ],          "minimum_should_match":  2      }   }  
  • 159. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. fuzzy queries
  • 160. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. fuzzy queries levenshtein edit distance
  • 161. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. bron      ➔        brown insertion
  • 162. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. bron      ➔        brown foxs      ➔        fox deletion
  • 163. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. bron      ➔        brown foxs      ➔        fox kiuck      ➔      qiuck substitution
  • 164. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. bron      ➔        brown foxs      ➔        fox kiuck      ➔      qiuck    ➔    quick transposition
  • 165. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "match":    {            "title":  {              "query":  "KIUCK  BRON  FOXS!",              "fuzziness":  "AUTO"          }   }
  • 166. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. phrase / proximity
  • 167. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "match_phrase":    {            "title":"QUICK  BROWN  FOX!"      }   }
  • 168. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {        "match_phrase":    {            "title":  {              "query":  "BROWN  QUICK  FOX!",              "slop":    "10"          }      }   }
  • 169. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. combine queries
  • 170. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":  {      "must":  {  <min_should_match>  },      "should":  [                      {            <fuzzy>              },                      {          <proximity>        }      ]   }  
  • 171. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":  {      "must":  {  <min_should_match>  },      "should":  [                      {            <fuzzy>              },                      {          <proximity>        }      ]   }  
  • 172. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. !        "match":  {              "title":  {                  "query":  "<words>",                  "minimum_should_match":  "75%"              }          }   !
  • 173. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":  {      "must":  {  <min_should_match>  },      "should":  [                      {            <fuzzy>              },                      {          <proximity>        }      ]   }  
  • 174. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. !      "match":  {            "title":  {                "query":  "<words>",                "fuzziness":  "AUTO"              }          }   !
  • 175. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":  {      "must":  {  <min_should_match>  },      "should":  [                      {            <fuzzy>              },                      {          <proximity>        }      ]   }  
  • 176. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. !    "match_phrase":  {            "title":  {                "query":  "<words>",                "slop":  "10"            }        }   !
  • 177. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":  {      "must":  {  <min_should_match>  },      "should":  [                      {            <fuzzy>              },                      {          <proximity>        }      ]   }  
  • 178. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. multi-field queries
  • 179. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
  • 180. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. easy!
  • 181. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":  {      "should":  [          {  "match":  {"first":    "Reginald"  }},          {  "match":  {"middle":  "Kenneth"    }},          {  "match":  {"last":      "Dwight"      }}          ],          "minimum_should_match":  "75%"   }  
  • 182. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.
  • 183. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. hard!
  • 184. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":  {      "should":  [          {  "match":  {                  "title":    "quick  brown  fox"            }},          {  "match":  {                  "content":  "quick  brown  fox"              }}      ]   }
  • 185. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   } {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                                regular  basis"   }
  • 186. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   } {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                                regular  basis"   } better match
  • 187. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   } {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                                regular  basis"   } But 2 matches wins
  • 188. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. dis_max query
  • 189. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. all docs which match any query dis_max query
  • 190. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. all docs which match any query dis_max query _score  =  best  matching  query
  • 191. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "bool":  {      "should":  [          {  "match":  {                  "title":    "quick  brown  fox"            }},          {  "match":  {                  "content":  "quick  brown  fox"              }}      ]   }
  • 192. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "dis_max":  {      "queries":  [          {  "match":  {                  "title":    "quick  brown  fox"            }},          {  "match":  {                  "content":  "quick  brown  fox"              }}      ]   }
  • 193. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   } {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                                regular  basis"   }
  • 194. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "title":      "Quick  brown  rabbits",      "content":  "Brown  rabbits  are  commonly  seen"   } {      "title":      "Keeping  pets  healthy",      "content":  "My  quick  brown  fox  eats  rabbits  on  a                                regular  basis"   }
  • 195. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "dis_max":  {      "queries":  [          {  "match":  {                  "title":    "quick  brown  fox"            }},          {  "match":  {                  "content":  "quick  brown  fox"              }}      ],      "tie_breaker":  0.2   }
  • 196. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. all docs which match any query dis_max query _score  =  best  matching  query     +  tie_breaker  *  others
  • 197. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. multi_match query
  • 198. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. match query on multiple fields multi_match query
  • 199. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "dis_max":  {      "queries":  [          {  "match":  {                  "title":    "quick  brown  fox"            }},          {  "match":  {                  "content":  "quick  brown  fox"              }}      ],      "tie_breaker":  0.2   }
  • 200. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "multi_match":  {      "query":            "quick  brown  fox",      "fields":      [  "title",  "content"  ]      "tie_breaker":  0.2   }
  • 201. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "multi_match":  {      "query":            "quick  brown  fox",      "fields":      [  "title",  "content"  ]      "tie_breaker":  0.2,   #  "type":              "best_fields"   }
  • 202. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. best_fields
  • 203. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. find whole "concept" in one field best_fields
  • 204. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "quick brown fox" in title or content best_fields
  • 205. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. best_fields dis_max "quick brown fox" in title or content
  • 206. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "title":  {      "type":                  "string"   }  
  • 207. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "title":  {      "type":                  "string",      "fields":  {   ! ! ! ! ! ! ! }}
  • 208. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "title":  {      "type":                  "string",      "fields":  {          "stemmed":  {              "type":          "string",              "analyzer":  "english"          }   ! ! ! }}
  • 209. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "title":  {      "type":                  "string",      "fields":  {          "stemmed":  {              "type":          "string",              "analyzer":  "english"          },          "autocomplete":  {              "type":          "string",              "analyzer":  "edge_ngrams"   }}}
  • 210. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. title:      [  brown,  fox,  jumped  ]   !
  • 211. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. title:      [  brown,  fox,  jumped  ]   ! title.stemmed:      [  brown,  fox,  jump  ]   !
  • 212. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. title:      [  brown,  fox,  jumped  ]   ! title.stemmed:      [  brown,  fox,  jump  ]   ! title.autocomplete      [  b,  br,  bro,  brow,  brown,            f,  fo,  fox,          j,  ju,  jum,  jump,  jumpe,  jumped      ]  
  • 213. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "multi_match":  {      "query":            "quick  brown  fox",      "fields":      [                                    "title",                                    "title.stemmed",                                  "title.autocomplete"                              ]      "type":              "most_fields"   }
  • 214. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. most_fields
  • 215. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. most_fields match same text analyzed in different ways
  • 216. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. most_fields more matching fields = better
  • 217. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. most_fields bool more matching fields = better
  • 218. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. {      "first":    "Reginald",      "middle":  "Kenneth"      "last":      "Dwight"   }
  • 219. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "multi_match":  {      "query":  "Reginald  Kenneth  Dwight",      "fields":      [                                    "first",                                    "middle",                                  "last"                              ]   ! }
  • 220. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "multi_match":  {      "query":  "Reginald  Kenneth  Dwight",      "fields":      [                                    "first",                                    "middle",                                  "last"                              ]      "type":              "????"   }
  • 221. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "multi_match":  {      "query":  "Reginald  Kenneth  Dwight",      "fields":      [                                    "first",                                    "middle",                                  "last"                              ]      "type":              "most_fields"   }
  • 222. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "multi_match":  {      "query":  "Reginald  Kenneth  Dwight",      "fields":      [                                    "first",                                    "middle",                                  "last"                              ]      "type":              "most_fields"   }
  • 223. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. problem
  • 224. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. problem field centric
  • 225. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. (          first:  Reginald        OR    first:  Kenneth        OR    first:  Dwight   )  OR  (              middle:Reginald        OR    middle:Kenneth        OR    middle:Dwight   )  OR  (              last:    Reginald        OR    last:    Kenneth        OR    last:    Dwight   )
  • 226. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. (          first:  Reginald        OR    first:  Kenneth        OR    first:  Dwight   )  OR  (              middle:Reginald        OR    middle:Kenneth        OR    middle:Dwight   )  OR  (              last:    Reginald        OR    last:    Kenneth        OR    last:    Dwight   )
  • 227. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. problem
  • 228. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. problem operator: and
  • 229. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. (          first:  Reginald        AND  first:  Kenneth        AND  first:  Dwight   )  OR  (              middle:Reginald        AND  middle:Kenneth        AND  middle:Dwight   )  OR  (              last:    Reginald        AND  last:    Kenneth        AND  last:    Dwight   )
  • 230. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. (          first:  Reginald        AND  first:  Kenneth        AND  first:  Dwight   )  OR  (              middle:Reginald        AND  middle:Kenneth        AND  middle:Dwight   )  OR  (              last:    Reginald        AND  last:    Kenneth        AND  last:    Dwight   )
  • 231. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. problem
  • 232. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. problem term frequencies
  • 233. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. problem term frequencies first:dwight    ➔  common
  • 234. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. problem term frequencies first:dwight    ➔  common last:  dwight    ➔  uncommon
  • 235. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. solution
  • 236. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. index time solution
  • 237. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. index time solution single "fullname" field
  • 238. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "first":  {            "type":  "string"   },   "middle":  {            "type":  "string"   },   "last":  {            "type":  "string"   }   !
  • 239. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "first":  {            "type":  "string"   },   "middle":  {            "type":  "string"   },   "last":  {            "type":  "string"   },   "full":  {          "type":  "string"     }   !
  • 240. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "first":  {            "type":  "string",  "copy_to":  "full"     },   "middle":  {            "type":  "string",  "copy_to":  "full"     },   "last":  {            "type":  "string",  "copy_to":  "full"     },   "full":  {          "type":  "string"     }   !
  • 241. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "match":  {      "full":  "Reginald  Kenneth  Dwight",      "minimum_should_match":  "75%"   }
  • 242. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. query time solution
  • 243. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. query time solution term-centric query
  • 244. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. (          first:  Reginald        AND  first:  Kenneth        AND  first:  Dwight   )  OR  (              middle:Reginald        AND  middle:Kenneth        AND  middle:Dwight   )  OR  (              last:    Reginald        AND  last:    Kenneth        AND  last:    Dwight   )
  • 245. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. (          first:  Reginald        OR    middle:Reginald        OR    last:    Reginald     )  AND  (              first:  Kenneth        OR    middle:Kenneth        OR    last:    Kenneth     )  AND  (              first:  Dwight      OR    middle:Dwight      OR    last:    Dwight   )
  • 246. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.        blend(first,middle,last):Reginald   AND  blend(first,middle,last):Kenneth   AND  blend(first,middle,last):Dwight
  • 247. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.        blend(first,middle,last):Reginald   AND  blend(first,middle,last):Kenneth   AND  blend(first,middle,last):Dwight blends term frequencies
  • 248. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. cross_fields
  • 249. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. cross_fields query multiple fields as if they were one
  • 250. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "multi_match":  {      "query":  "Reginald  Kenneth  Dwight",      "fields":      [                                    "first",                                    "middle",                                  "last"                              ]      "type":              "cross_fields"   }
  • 251. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. "multi_match":  {      "query":  "Reginald  Kenneth  Dwight",      "fields":      [                                    "first",                                    "middle",                                  "last"                              ]      "type":              "cross_fields",      "minimum_should_match":  "75%"   }
  • 252. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. best_fields: whole concept in single field most_fields: same text, different analyzers cross_fields: treat multiple fields as one
  • 253. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. understand the building blocks
  • 254. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. the rest is details
  • 255. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. thank you @clintongormley
  • 256. Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited. thank you @clintongormley elasticsearch.org/downloads elasticsearch.com/support elasticsearch.com/jobs