Elasticsearch Query DSL

Slides:



Advertisements
Similar presentations
Using CAB Abstracts to Search for Articles. Objectives Learn what CAB Abstracts is Know the main features of CAB Abstracts Learn how to conduct searches.
Advertisements

SCOPUS Searching for Scientific Articles By Mohamed Atani UNEP.
Chapter 5: Introduction to Information Retrieval
© Copyright 2012 STI INNSBRUCK Apache Lucene Ioan Toma based on slides from Aaron Bannert
Advanced Indexing Techniques with Apache Lucene - Payloads Advanced Indexing Techniques with Michael Busch
Advanced Indexing Techniques with
Advanced Google Becoming a Power Googler. (c) Thomas T. Kaun 2005 How Google Works PageRank: The number of pages link to any given page. “Importance”
INSERT BOOK COVER 1Copyright © 2013 Pearson Education, Inc. Publishing as Prentice Hall. Exploring Microsoft Access 2010 by Robert Grauer, Keith Mast,
April 2001Division of Library Services IDEAL® is a collection of full text journal titles. Includes 173 journal titles from Academic Press. Abstracts and.
Basic IR: Queries Query is statement of user’s information need. Index is designed to map queries to likely to be relevant documents. Query type, content,
1 Query Languages. 2 Boolean Queries Keywords combined with Boolean operators: –OR: (e 1 OR e 2 ) –AND: (e 1 AND e 2 ) –BUT: (e 1 BUT e 2 ) Satisfy e.
Advance Information Retrieval Topics Hassan Bashiri.
Information retrieval Finding relevant data using irrelevant keys Example: database of photographic images sorted by number, date. DBMS: Well structured.
Modern Information Retrieval Chapter 4 Query Languages.
WISER: Newspapers online : an introduction to the scope and range of recent and current newspapers available on Oxlip, including hints on effective search.
WMES3103 : INFORMATION RETRIEVAL INDEXING AND SEARCHING.
Chapter 5: Information Retrieval and Web Search
Advanced Multimedia Text Retrieval/Classification Tamara Berg.
Indexing and Complexity. Agenda Inverted indexes Computational complexity.
MyiLibrary® ‘Search & View’ Website Training June 8, 2010.
Elasticsearch in Dashboard Data Management Applications David Tuckett IT/SDC 30 August 2013 (Appendix 11 November 2013)
Clustering User Queries of a Search Engine Ji-Rong Wen, Jian-YunNie & Hon-Jian Zhang.
Sébastien François, EPrints Lead Developer EPrints Developer Powwow, ULCC.
Medline on OvidSP. Medline Facts Extensive MeSH thesaurus structure with many synonyms used in mapping and multidatabase searching with Embase Thesaurus.
The Key to Successful Searching Software patents pending. ™ Trademarks of SLICCWARE Corporation All rights reserved. SM Service Mark of SLICCWARE Corporation.
Xiaoying Gao Computer Science Victoria University of Wellington Intelligent Agents COMP 423.
Chapter 6: Information Retrieval and Web Search
Introduction to Digital Libraries hussein suleman uct cs honours 2003.
The World’s Leading Information Provider 1 WiseEnterprise 3 Training Workshop Jun 26 th, 2015 o Basic Functions o Basic Editing o Reporting o Content Grabber.
The Choices Program curriculum units and the contents of the electronic versions are copyrighted— 1989-present. These copyright protections extend to all.
Database Management System. DBMS A software package that allows users to create, retrieve and modify databases. A database is a collection of related.
Evidence from Content INST 734 Module 2 Doug Oard.
HOW TO SEARCH …………………. By Mamoun Al Rahhal. How to Search Before you start a search operation. Optional selections. Function buttons. Filling Criteria.
The Development of a search engine & Comparison according to algorithms Sung-soo Kim The final report.
Xiaoying Gao Computer Science Victoria University of Wellington COMP307 NLP 4 Information Retrieval.
Introduction to MongoDB. Database compared.
Chapter Three Presentation: User interface How to Build a Digital Library Ian H. Witten and David Bainbridge.
September 2003, 7 th EDG Conference, Heidelberg – Roberta Faggian, CERN/IT CERN – European Organization for Nuclear Research The GRACE Project GRid enabled.
Chapter 5 Ranking with Indexes. Indexes and Ranking n Indexes are designed to support search  Faster response time, supports updates n Text search engines.
Best pTree organization? level-1 gives te, tf (term level)
RFPMonkey.com Agenda Overview Logging in Personal Settings
Query processing: phrase queries and positional indexes
Searching and Indexing
The Boolean Boost: Searching for Candidates
GO! with Microsoft Office 2016
Session 4 ECO Documentation Database
CS 430: Information Discovery
The Enterprise Technology Driven, Marketing Services Company
Building and Using Queries
Query Languages.
Search Techniques and Advanced tools for Researchers
Overview of PATENTSCOPE® search service Webinar September 2010
Basic Information Retrieval
Representation of documents and queries
MongoDB Read/Write.
Hatim El Faiz Account Development Manager Middle East & Africa
More info online via LIMO Help
Health On-Line Patient Education Web Site
ServiceLink Training Video Managing Job Orders Pending Completion
Introduction to Information Retrieval
Chapter 5: Information Retrieval and Web Search
2016 REPORT.
Introduction to Elasticsearch with basics of Lucene May 2014 Meetup
Query processing: phrase queries and positional indexes
15-826: Multimedia Databases and Data Mining
Information Retrieval and Web Design
201X REPORT.
Intermediate Documents Session 2
Stamo Petkov Full text search in digital and scanned documents with Elasticsearch and Tesseract.
2016 REPORT.
Presentation transcript:

Elasticsearch Query DSL … not just for wizards Clinton Gormley @clintongormley Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

Copyright Elasticsearch 2014 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 filters boolean yes/no relevance Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

queries filters boolean yes/no exact values relevance full text Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

queries filters boolean yes/no exact values relevance cached full text not cached Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

queries filters boolean yes/no exact values relevance cached full text faster relevance full text not cached slower Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

queries filters boolean yes/no exact values relevance cached full text faster relevance full text not cached slower 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": {...}, Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

GET /_search { "query": { "filtered": { "query": { "match": { "title": } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

GET /_search { "query": { "filtered": { "query": { "match": { "title": "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", { "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", { "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.

where content like “%brown%fox%” { "title": "Quick brown rabbits", "content": "Brown rabbits are commonly seen" } "title": "Keeping pets healthy", "content": "My quick brown fox eats rabbits on regular basis" where content like “%brown%fox%” a Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

slow & inflexible { "title": "Quick brown rabbits", "content": "Brown rabbits are commonly seen" } "title": "Keeping pets healthy", "content": "My quick brown fox eats rabbits on regular basis" slow & inflexible a Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

“analysis” { "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", { "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], { "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.

field: content sorted list of unique terms Term Doc 1 Doc 2 a are basis brown commonly eats fox my on quick rabbits regular seen sorted list of unique terms Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

field: content where they omyccur Term Doc 1 Doc 2 a are basis brown commonly they eats fox omyccur on quick rabbits regular seen Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

field: content Term Doc 1 Doc 2 a are basis brown commonly eats fox my quick rabbits regular seen Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

field: content Term Doc 1 Doc 2 a are basis brown commonly eats fox my quick rabbits regular seen 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.

WHERE field CONTAINS "value" "term": { "title": "brown" } 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": {} }, } } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

GET /_search { "query": { "filtered": { "query": { "match_all": {} }, } } 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.

field: title Term Doc 1 Doc 2 brown healthy keeping pets quick rabbits Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

field: title Term Doc 1 Doc 2 brown healthy keeping pets quick rabbits 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.

WHERE field IN ["val",…] "terms": { "title": ["quick", "pets"] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

field: title Term Doc 1 Doc 2 brown healthy keeping pets quick rabbits 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 < "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.

WHERE field >= "val1" AND field < "val2" "range": { "content":{ "gte": "a", "lt": "m" } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

field: content Term Doc 1 Doc 2 a are basis brown commonly eats fox my quick rabbits regular seen Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"range": { "content":{ "gte": "a", "lt": "m" } } ➔ result: bitset[ 1, 1 ] ➔ cache as: "content:[a TO 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.

numeric/date fields optimised for range filters "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.

not cached "range": { "date":{ "gte": "now -­‐ 1h" } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

cached "range": { "date":{ "gte": "now -­‐ 1h / h" } 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.

WHERE field has any term "exists": { "field": "title" } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

WHERE field has no term missing filter Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

WHERE field has no term "missing": { "field": "title" } 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": "must_not": ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"bool": { "must": [ <filters> ], # AND "should": "must_not": ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"bool": { "must": [ <filters> ], "should": # OR "must_not": ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"bool": { "must": "should": [ <filters> ], "must_not": ] # NOT } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"must": { "term": { "title": "rabbits" }}, "bool": { "must": { "term": { "title": "rabbits" }}, } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"must": { "term": { "title": "rabbits" }}, "should": [ "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.

"must": { "term": { "title": "rabbits" }}, "should": [ "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.

{ "term": { "title": "rabbits" }}, { "term": { "content": "rabbits" }} "bool": { "must": [ { "bool": { "should": [ { "term": { "title": "rabbits" }}, { "term": { "content": "rabbits" }} ]}}, { "term": "title": "quick" }}, "content": }} ]}} ], "must_not": { "term": { "content": "fox" }} } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

not cached "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.

cached "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.

(title:rabbits OR content:rabbits) AND result bitset = (title:rabbits OR content:rabbits) AND (title:quick AND NOT content:fox OR content:quick) 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.

how relevant is this term? term query ≈ term filter + relevance how relevant is this term? Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

how relevant is this term? "title": "brown" } 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.

how relevant is this doc? { "_index": "myindex", "_type": "_id": "mytype", "1", "_score": 0.5, "_source": { "title": "Quick brown rabbits", "content": "Brown rabbits are commonly seen" } 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.

lucene similarity Term frequency 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 Term frequency 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 Term frequency Inverse document frequency How long is this doc? ➔ shorter is better Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

lucene similarity Term frequency Inverse document frequency How long is this doc? ➔ shorter is better Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

lucene similarity Term frequency Inverse document frequency Length norm 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... bool query like bool filter, but different... AND … OR … NOT Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"bool": { "must": "should": [ <queries> ], # AND "must_not": ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"bool": { "must": "should": [ <queries> ], # AND Hmmm "must_not": ] NOT } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

[ <queries> ], # AND [ <queries> ], # Hmmm "bool": { "must": [ <queries> ], # AND [ <queries> ], # Hmmm "should": "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" }}, "brown" }}, "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" }}, "brown" }}, "rabbits" }} } at least one must match Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

minimum_should_match = 1 no "must" queries "bool": { "should": [ ] { "term": "title": "quick" }}, "brown" }}, "rabbits" }} } minimum_should_match = 1 Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

with "must" queries "bool": { "must": { "term": { "title": "quick"}}, "should": [ { "term": { "title": "brown" }}, { "term": { "title": "rabbits" }} ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

with "must" queries all are optional! "bool": { "must": { "term": { "title": "quick"}}, "should": [ { "term": { "title": "brown" }}, { "term": { "title": "rabbits" }} ] } all are optional! Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

minimum_should_match = 0 with "must" queries "bool": { "must": { "term": { "title": "quick"}}, "should": [ { "term": { "title": "brown" }}, { "term": { "title": "rabbits" }} ] } 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 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.

sum( _score of each query) * num of matching queries _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.

sum( _score of each query) * num of matching queries / num of queries _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.

better relevance score 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" }}, "brown" }}, "rabbits" }} } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

trim the long tail "bool": { "should": [ { "term": "title": "quick" }}, "brown" }}, "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" }}, "brown" }}, "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": 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.

title:quick OR title:fox { "match": { "title": "QUICK FOX!" }} title:quick OR title:fox Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

title:quick OR title:fox { "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.

{ "term": { "title": "quick" }}, { "term": { "title": "fox" }} ] } "bool": { "should": [ { "term": { "title": "quick" }}, { "term": { "title": "fox" }} ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

{ "term": { "title": "quick" }}, { "term": { "title": "fox" }} ] } "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.

"minimum_should_match": "75%" } { "match": { "title": { "query": "QUICK BROWN FOX!", "minimum_should_match": "75%" } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"minimum_should_match": 2 } { "bool": { "should": [ { "term": "title": "quick" }}, "brown" "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.

insertion bron ➔ brown Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

deletion bron ➔ brown foxs ➔ fox Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

substitution bron ➔ brown foxs fox kiuck qiuck Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

transposition bron ➔ brown foxs fox kiuck qiuck quick 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.

"must": { <min_should_match> }, "should": [ "bool": { "must": { <min_should_match> }, "should": [ { <fuzzy> <proximity> }, } ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"must": { <min_should_match> }, "should": [ "bool": { "must": { <min_should_match> }, "should": [ { <fuzzy> <proximity> }, } ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"query": "<words>", "minimum_should_match": "75%" } "title": { "query": "<words>", "minimum_should_match": "75%" } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"must": { <min_should_match> }, "should": [ "bool": { "must": { <min_should_match> }, "should": [ { <fuzzy> <proximity> }, } ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"query": "<words>", "fuzziness": "AUTO" } "match": { "title": { "query": "<words>", "fuzziness": "AUTO" } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"must": { <min_should_match> }, "should": [ "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.

"must": { <min_should_match> }, "should": [ "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 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.

{ "match": {"middle": "Kenneth" }}, { "match": {"last": "Dwight" }} ], "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 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.

"content": "quick brown fox" }} ] } "bool": { "should": [ { "match": { "title": }}, "quick brown fox" "content": "quick brown fox" }} ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"title": "Quick brown rabbits", { "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.

better match { "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.

But 2 matches wins { "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.

dis_max query all docs which match any query Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

_score = best matching query dis_max query all docs which match any query _score = best matching query Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"content": "quick brown fox" }} ] } "bool": { "should": [ { "match": { "title": }}, "quick brown fox" "content": "quick brown fox" }} ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"content": "quick brown fox" }} ] } "dis_max": { "queries": [ { "match": { "title": }}, "quick brown fox" "content": "quick brown fox" }} ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"title": "Quick brown rabbits", { "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": "Keeping pets healthy", { "title": "Keeping pets healthy", "content": "My quick brown fox eats rabbits on a regular basis" } "title": "Quick brown rabbits", "content": "Brown rabbits are commonly seen" Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"content": "quick brown fox" }} ], "tie_breaker": 0.2 } "dis_max": { "queries": [ { "match": { "title": }}, "quick brown fox" "content": "quick brown fox" }} ], "tie_breaker": 0.2 } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

dis_max query all docs which match any 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.

multi_match query match query on multiple fields Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"content": "quick brown fox" }} ], "tie_breaker": 0.2 } "dis_max": { "queries": [ { "match": { "title": }}, "quick brown fox" "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": "fields": "quick brown fox", [ "title", "content" ] "tie_breaker": 0.2 } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"multi_match": { "query": "fields": "quick brown fox", [ "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.

best_fields find whole "concept" in one field Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

best_fields "quick brown fox" in title or content Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

best_fields "quick brown fox" in title or content dis_max 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": "fields": { "string", }} Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"title": { "type": "fields": { "string", "stemmed": { "string", "analyzer": "english" } }} Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"autocomplete": { "type": "string", "analyzer": "edge_ngrams" }}} "title": { "type": "fields": { "stemmed": { "string", "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 Elasti csearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"query": "quick brown fox", "fields": [ "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 more matching fields = better bool 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.

"query": "Reginald Kenneth Dwight", "fields": [ "first", "multi_match": { "query": "Reginald Kenneth Dwight", "fields": [ "first", "middle", "last" ] } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"query": "Reginald Kenneth Dwight", "fields": [ "first", "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.

"query": "Reginald Kenneth Dwight", "fields": [ "first", "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.

"query": "Reginald Kenneth Dwight", "fields": [ "first", "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 ( middle:Reginald OR middle:Kenneth OR middle:Dwight ) OR ( last: Reginald Kenneth Dwight OR last: ) Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

first: Reginald OR first: Kenneth OR first: Dwight ( middle:Reginald OR middle:Kenneth OR middle:Dwight ) OR ( last: Reginald Kenneth Dwight OR last: ) 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 last: AND last: AND last: Reginald Kenneth 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 last: AND last: AND last: Reginald Kenneth 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 last: dwight ➔ common ➔ 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": { "last": { } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"first": { "type": "string" }, "middle": { "last": { "full": { } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"type": "string", "copy_to": "full" }, "middle": { "first": { "type": "string", "copy_to": "full" }, "middle": { "last": { "full": { "type": "string" } Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

"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 last: AND last: AND last: Reginald Kenneth Dwight ) Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.

first: Reginald middle:Reginald ( OR OR last: Reginald ) AND ( first: Kenneth OR middle:Kenneth OR last: Kenneth 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):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.

blends term frequencies 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.

"query": "Reginald Kenneth Dwight", "fields": [ "first", "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.

"query": "Reginald Kenneth Dwight", "fields": [ "first", "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: most_fields: cross_fields: whole concept in single field 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 Copyright Elasticsearch 2014. Copying, publishing and/or distributing without written permission is strictly prohibited.