SlideShare a Scribd company logo
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

15 practical grep command examples in linux
15 practical grep command examples in linux15 practical grep command examples in linux
15 practical grep command examples in linuxTeja Bheemanapally
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginners
Neil Baker
 
Vectors are the new JSON in PostgreSQL
Vectors are the new JSON in PostgreSQLVectors are the new JSON in PostgreSQL
Vectors are the new JSON in PostgreSQL
Jonathan Katz
 
Javascript Module Patterns
Javascript Module PatternsJavascript Module Patterns
Javascript Module Patterns
Nicholas Jansma
 
Purely Functional Data Structures in Scala
Purely Functional Data Structures in ScalaPurely Functional Data Structures in Scala
Purely Functional Data Structures in Scala
Vladimir Kostyukov
 
MySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZEMySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZE
Norvald Ryeng
 
Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1
José Paumard
 
Introduction to Perl - Day 1
Introduction to Perl - Day 1Introduction to Perl - Day 1
Introduction to Perl - Day 1
Dave Cross
 
High Performance Mysql
High Performance MysqlHigh Performance Mysql
High Performance Mysql
liufabin 66688
 
The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...
The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...
The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...
t_ivanov
 
Apache Zeppelin으로 데이터 분석하기
Apache Zeppelin으로 데이터 분석하기Apache Zeppelin으로 데이터 분석하기
Apache Zeppelin으로 데이터 분석하기
SangWoo Kim
 
HTML/CSS/java Script/Jquery
HTML/CSS/java Script/JqueryHTML/CSS/java Script/Jquery
HTML/CSS/java Script/Jquery
FAKHRUN NISHA
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
Ismaeel Enjreny
 
Introduction to xml
Introduction to xmlIntroduction to xml
Introduction to xml
Gtu Booker
 
From Query Plan to Query Performance: Supercharging your Apache Spark Queries...
From Query Plan to Query Performance: Supercharging your Apache Spark Queries...From Query Plan to Query Performance: Supercharging your Apache Spark Queries...
From Query Plan to Query Performance: Supercharging your Apache Spark Queries...
Databricks
 
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Lucidworks
 
JavaScript guide 2020 Learn JavaScript
JavaScript guide 2020 Learn JavaScriptJavaScript guide 2020 Learn JavaScript
JavaScript guide 2020 Learn JavaScript
Laurence Svekis ✔
 
Html forms
Html formsHtml forms
Html forms
Himanshu Pathak
 
Python Dictionary
Python DictionaryPython Dictionary
Python Dictionary
Soba Arjun
 
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer SimonDocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
lucenerevolution
 

What's hot (20)

15 practical grep command examples in linux
15 practical grep command examples in linux15 practical grep command examples in linux
15 practical grep command examples in linux
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginners
 
Vectors are the new JSON in PostgreSQL
Vectors are the new JSON in PostgreSQLVectors are the new JSON in PostgreSQL
Vectors are the new JSON in PostgreSQL
 
Javascript Module Patterns
Javascript Module PatternsJavascript Module Patterns
Javascript Module Patterns
 
Purely Functional Data Structures in Scala
Purely Functional Data Structures in ScalaPurely Functional Data Structures in Scala
Purely Functional Data Structures in Scala
 
MySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZEMySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZE
 
Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1
 
Introduction to Perl - Day 1
Introduction to Perl - Day 1Introduction to Perl - Day 1
Introduction to Perl - Day 1
 
High Performance Mysql
High Performance MysqlHigh Performance Mysql
High Performance Mysql
 
The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...
The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...
The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...
 
Apache Zeppelin으로 데이터 분석하기
Apache Zeppelin으로 데이터 분석하기Apache Zeppelin으로 데이터 분석하기
Apache Zeppelin으로 데이터 분석하기
 
HTML/CSS/java Script/Jquery
HTML/CSS/java Script/JqueryHTML/CSS/java Script/Jquery
HTML/CSS/java Script/Jquery
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Introduction to xml
Introduction to xmlIntroduction to xml
Introduction to xml
 
From Query Plan to Query Performance: Supercharging your Apache Spark Queries...
From Query Plan to Query Performance: Supercharging your Apache Spark Queries...From Query Plan to Query Performance: Supercharging your Apache Spark Queries...
From Query Plan to Query Performance: Supercharging your Apache Spark Queries...
 
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
 
JavaScript guide 2020 Learn JavaScript
JavaScript guide 2020 Learn JavaScriptJavaScript guide 2020 Learn JavaScript
JavaScript guide 2020 Learn JavaScript
 
Html forms
Html formsHtml forms
Html forms
 
Python Dictionary
Python DictionaryPython Dictionary
Python Dictionary
 
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer SimonDocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
DocValues aka. Column Stride Fields in Lucene 4.0 - By Willnauer Simon
 

Viewers also liked

Introduction to Elasticsearch Searching
Introduction to Elasticsearch SearchingIntroduction to Elasticsearch Searching
Introduction to Elasticsearch Searching
Bo Andersen
 
Introduction to Elasticsearch Mapping
Introduction to Elasticsearch MappingIntroduction to Elasticsearch Mapping
Introduction to Elasticsearch Mapping
Bo Andersen
 
Elasticsearch Field Data Types
Elasticsearch Field Data TypesElasticsearch Field Data Types
Elasticsearch Field Data Types
Bo Andersen
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
Bo 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 Elasticsearch
clintongormley
 

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 Elasticsearch
clintongormley
 
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 JavaScript
3scale
 
Introducing ElasticSearch - Ashish
Introducing ElasticSearch - AshishIntroducing ElasticSearch - Ashish
Introducing ElasticSearch - Ashish
Entrepreneur / Startup
 
Scalabay - API Design Antipatterns
Scalabay - API Design AntipatternsScalabay - API Design Antipatterns
Scalabay - API Design Antipatterns
Manish 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 2013
Mark Halvorson
 
Webcast: Pragmatic REST: The Next Generation
Webcast: Pragmatic REST: The Next GenerationWebcast: Pragmatic REST: The Next Generation
Webcast: Pragmatic REST: The Next Generation
Apigee | 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 DI
Dana 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

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

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