Skip to content

Instantly share code, notes, and snippets.

@beiske
Created July 1, 2014 09:40
Show Gist options
  • Save beiske/46f6d60a23f123c39492 to your computer and use it in GitHub Desktop.
Save beiske/46f6d60a23f123c39492 to your computer and use it in GitHub Desktop.
analyzer:
nameAnalyzer:
filter:
- lowercase
type: custom
tokenizer: keyword
{"upc":"731453610729","title":"Captain Beyond","salesrank":11000,"store":"M","artists":[{"name":"Captain Beyond","id":"P 16286"}],"directors":[],"starring":[],"credits":[{"name":"Captain Beyond","id":"P 16286"},{"name":"Lee Dorman","id":"P 71774"},{"name":"Rod Evans","id":"P 74659"},{"name":"Bobby Caldwell","id":"P 291212"},{"name":"Martin Rodriguez","id":"P 918674"}],"tracks":["Dancing Madly Backwards (On A Sea Of Air)","Armworth","Myopic Void","Mesmerization Eclipse","Raging River Of Fear","Thousand Days Of Yesterdays (Intro)","Frozen Over","Thousand Days Of Yesterdays (Time Since Come And Gone)","I Can't Feel Nothin'","Pt. 1","As The Moon Speaks (To The Waves Of The Sea)","Astral Lady","As The Moon Speaks (Return)","Pt. 2"]}
---
{"upc":"085391108023","title":"Captain Horatio Hornblower","store":"V","salesrank":3332,"artists":[],"directors":[{"name":"Raoul Walsh","id":"P 115880"}],"starring":[{"name":"Robert Beatty","id":"P 4811"},{"name":"James Robertson Justice","id":"P 36565"},{"name":"Moultrie Kelsall","id":"P 37581"},{"name":"Virginia Mayo","id":"P 46751"},{"name":"Terence Morgan","id":"P 50645"},{"name":"Denis O'dea","id":"P 53395"},{"name":"Gregory Peck","id":"P 55747"}],"credits":[{"name":"Kynaston Reeves","id":"P 59356"},{"name":"Amy Veness","id":"P 73259"},{"name":"John Witty","id":"P 77112"},{"name":"Michael Goodliffe","id":"P 27670"},{"name":"Ingeborg Wells","id":"P 75459"},{"name":"Christopher Lee","id":"P 41362"},{"name":"Ronald Adam","id":"P 236"},{"name":"Gregory Peck","id":"P 55747"},{"name":"Virginia Mayo","id":"P 46751"},{"name":"Robert Beatty","id":"P 4811"},{"name":"Terence Morgan","id":"P 50645"},{"name":"Denis O'Dea","id":"P 53395"},{"name":"James Robertson Justice","id":"P 36565"},{"name":"Moultrie Kelsall","id":"P 37581"},{"name":"James Kenney","id":"P 37760"},{"name":"Stanley Baker","id":"P 3453"},{"name":"Richard Hearne","id":"P 31413"},{"name":"Michael Dolan","id":"P 19494"},{"name":"Alec Mango","id":"P 45035"}],"tracks":[]}
---
{"upc":"043396417847","title":"Captain Phillips","store":"V","salesrank":136,"artists":[],"directors":[{"name":"Paul Greengrass","id":"P 92504"}],"starring":[{"name":"Catherine Keener","id":"P 37341"},{"name":"Tom Hanks","id":"P 93341"}],"credits":[{"name":"Tom Hanks","id":"P 93341"},{"name":"Catherine Keener","id":"P 37341"},{"name":"Barkhad Abdirahman","id":"P 751663"},{"name":"Faysal Ahmed","id":"P 751665"},{"name":"Mahat M. Ali","id":"P 751664"},{"name":"Omar Berdouni","id":"P 410804"},{"name":"Mohammed Ali","id":"P 583705"},{"name":"Issak Farah Samatar","id":"P 753581"},{"name":"Thomas Grube","id":"P 215442"},{"name":"Mark Holden","id":"P 542391"},{"name":"San Shella","id":"P 364779"},{"name":"Terrence Anderson","id":"P 676532"},{"name":"Marc Anwar","id":"P 481223"},{"name":"David Webber","id":"P 329342"},{"name":"Amr El-Bayoumi","id":"P 753582"},{"name":"Vincenzo Nicoli","id":"P 215890"},{"name":"Kapil Arun","id":"P 753583"},{"name":"Louis Mahoney","id":"P 44656"},{"name":"Peter Landi","id":"P 753584"},{"name":"Angus MacInnes","id":"P 44210"},{"name":"Ian Ralph","id":"P 615114"},{"name":"Kristian Hjordt Beck","id":"P 753586"},{"name":"Kurt Larsen","id":"P 753587"},{"name":"Bader Choukouko","id":"P 753588"},{"name":"Idurus Shiish","id":"P 753590"},{"name":"Azeez Mohammed","id":"P 753592"},{"name":"Abdurazak Ahmed Adan","id":"P 753593"},{"name":"Duran Mohamed Hassan","id":"P 753595"},{"name":"Nasir Jama","id":"P 753596"},{"name":"Kadz Souleiman","id":"P 753597"},{"name":"Dean Franchuk","id":"P 753791"},{"name":"Rey Hernandez","id":"P 382526"},{"name":"Christopher Stadulis","id":"P 675631"},{"name":"Roger Edwards","id":"P 490924"},{"name":"John Patrick Barry","id":"P 562353"},{"name":"Raleigh Morse","id":"P 753792"},{"name":"Dale McClellan","id":"P 753793"},{"name":"Hugh Middleton","id":"P 753795"},{"name":"Raymond Care","id":"P 753796"},{"name":"Stacha Hicks","id":"P 753797"},{"name":"Will Bowden","id":"P 753798"},{"name":"Leonard Anderson","id":"P 753799"}],"tracks":[]}
---
{"upc":"786936217650","title":"Brave Little Toaster","store":"V","salesrank":2213,"artists":[],"directors":[{"name":"Jerry Rees","id":"P 107808"}],"starring":[{"name":"Jon Lovitz","id":"P 43478"},{"name":"Thurl Ravenscroft","id":"P 58935"},{"name":"Tim Stack","id":"P 67454"},{"name":"Timothy E. Day","id":"P 129224"},{"name":"Deanna Oliver","id":"P 121807"}],"credits":[{"name":"Randy Bennett","id":"P 81417"},{"name":"Jim Jackman","id":"P 141487"},{"name":"Randy Cook","id":"P 168928"},{"name":"Judy Toll","id":"P 114305"},{"name":"Jon Lovitz","id":"P 43478"},{"name":"Tim Stack","id":"P 67454"},{"name":"Timothy E. Day","id":"P 129224"},{"name":"Thurl Ravenscroft","id":"P 58935"},{"name":"Deanna Oliver","id":"P 121807"},{"name":"Phil Hartman","id":"P 93625"},{"name":"Jonathon Benair","id":"P 131802"},{"name":"Joe Ranft","id":"P 107549"}]}
---
{"upc":"773848552733","title":"Brave New World","store":"V","salesrank":12559,"artists":[],"directors":[{"name":"Leslie Libman","id":"P 238305"},{"name":"Larry Williams","id":"P 238680"}],"starring":[{"name":"Peter Gallagher","id":"P 25621"},{"name":"Tim Guinee","id":"P 29199"},{"name":"Sally Kirkland","id":"P 38510"},{"name":"Leonard Nimoy","id":"P 104553"},{"name":"Rya Kihlstedt","id":"P 200266"}],"credits":[{"name":"Peter Gallagher","id":"P 25621"},{"name":"Leonard Nimoy","id":"P 104553"},{"name":"Tim Guinee","id":"P 29199"},{"name":"Rya Kihlstedt","id":"P 200266"},{"name":"Sally Kirkland","id":"P 38510"},{"name":"Miguel Ferrer","id":"P 23233"},{"name":"Patrick Dancy","id":"P 237332"},{"name":"Steven Flynn","id":"P 219609"},{"name":"Wendy Benson","id":"P 230243"},{"name":"Steven Schub","id":"P 63870"},{"name":"Daniel Dae Kim","id":"P 343800"},{"name":"Jacob Chase","id":"P 237299"}],"tracks":[]}
---
{"upc":"786936813111","title":"Brave","store":"V","salesrank":1341,"artists":[],"directors":[{"name":"Brenda Chapman","id":"P 189034"},{"name":"Mark Andrews","id":"P 290922"}],"starring":[{"name":"Emma Thompson","id":"P 70692"},{"name":"Julie Walters","id":"P 74515"},{"name":"Billy Connolly","id":"P 85695"},{"name":"Kevin Mckidd","id":"P 200457"},{"name":"Kelly Macdonald","id":"P 200403"}],"credits":[{"name":"Kelly MacDonald","id":"P 200403"},{"name":"Emma Thompson","id":"P 70692"},{"name":"Billy Connolly","id":"P 85695"},{"name":"Julie Walters","id":"P 74515"},{"name":"Kevin McKidd","id":"P 200457"},{"name":"Craig Ferguson","id":"P 271224"},{"name":"Robbie Coltrane","id":"P 14336"}],"tracks":[]}
type:
properties:
artists:
properties:
name:
type: string
analyzer: nameAnalyzer
fields:
raw:
type: string
index: not_analyzed
credits:
properties:
id:
type: string
name:
type: string
analyzer: nameAnalyzer
fields:
raw:
type: string
index: not_analyzed
directors:
properties:
id:
type: string
name:
type: string
analyzer: nameAnalyzer
fields:
raw:
type: string
index: not_analyzed
salesrank:
type: integer
starring:
properties:
id:
type: string
name:
type: string
store:
type: string
index: not_analyzed
title:
type: string
analyzer: nameAnalyzer
fields:
std:
type: string
analyzer: standard
raw:
type: string
index: not_analyzed
tracks:
type: string
analyzer: nameAnalyzer
upc:
type: string
#!/bin/bash
export ELASTICSEARCH_ENDPOINT="http://localhost:9200"
# Create indexes
curl -XPUT "$ELASTICSEARCH_ENDPOINT/play" -d '{
"settings": {
"analysis": {
"analyzer": {
"nameAnalyzer": {
"filter": [
"lowercase"
],
"type": "custom",
"tokenizer": "keyword"
}
}
}
},
"mappings": {
"type": {
"properties": {
"artists": {
"properties": {
"name": {
"type": "string",
"analyzer": "nameAnalyzer",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
},
"credits": {
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"analyzer": "nameAnalyzer",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
},
"directors": {
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"analyzer": "nameAnalyzer",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
},
"salesrank": {
"type": "integer"
},
"starring": {
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"store": {
"type": "string",
"index": "not_analyzed"
},
"title": {
"type": "string",
"analyzer": "nameAnalyzer",
"fields": {
"std": {
"type": "string",
"analyzer": "standard"
},
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
},
"tracks": {
"type": "string",
"analyzer": "nameAnalyzer"
},
"upc": {
"type": "string"
}
}
}
}
}'
# Index documents
curl -XPOST "$ELASTICSEARCH_ENDPOINT/_bulk?refresh=true" -d '
{"index":{"_index":"play","_type":"type"}}
{"upc":"731453610729","title":"Captain Beyond","salesrank":11000,"store":"M","artists":[{"name":"Captain Beyond","id":"P 16286"}],"directors":[],"starring":[],"credits":[{"name":"Captain Beyond","id":"P 16286"},{"name":"Lee Dorman","id":"P 71774"},{"name":"Rod Evans","id":"P 74659"},{"name":"Bobby Caldwell","id":"P 291212"},{"name":"Martin Rodriguez","id":"P 918674"}],"tracks":["Dancing Madly Backwards (On A Sea Of Air)","Armworth","Myopic Void","Mesmerization Eclipse","Raging River Of Fear","Thousand Days Of Yesterdays (Intro)","Frozen Over","Thousand Days Of Yesterdays (Time Since Come And Gone)","I Can't Feel Nothin'","Pt. 1","As The Moon Speaks (To The Waves Of The Sea)","Astral Lady","As The Moon Speaks (Return)","Pt. 2"]}
{"index":{"_index":"play","_type":"type"}}
{"upc":"085391108023","title":"Captain Horatio Hornblower","store":"V","salesrank":3332,"artists":[],"directors":[{"name":"Raoul Walsh","id":"P 115880"}],"starring":[{"name":"Robert Beatty","id":"P 4811"},{"name":"James Robertson Justice","id":"P 36565"},{"name":"Moultrie Kelsall","id":"P 37581"},{"name":"Virginia Mayo","id":"P 46751"},{"name":"Terence Morgan","id":"P 50645"},{"name":"Denis O'dea","id":"P 53395"},{"name":"Gregory Peck","id":"P 55747"}],"credits":[{"name":"Kynaston Reeves","id":"P 59356"},{"name":"Amy Veness","id":"P 73259"},{"name":"John Witty","id":"P 77112"},{"name":"Michael Goodliffe","id":"P 27670"},{"name":"Ingeborg Wells","id":"P 75459"},{"name":"Christopher Lee","id":"P 41362"},{"name":"Ronald Adam","id":"P 236"},{"name":"Gregory Peck","id":"P 55747"},{"name":"Virginia Mayo","id":"P 46751"},{"name":"Robert Beatty","id":"P 4811"},{"name":"Terence Morgan","id":"P 50645"},{"name":"Denis O'Dea","id":"P 53395"},{"name":"James Robertson Justice","id":"P 36565"},{"name":"Moultrie Kelsall","id":"P 37581"},{"name":"James Kenney","id":"P 37760"},{"name":"Stanley Baker","id":"P 3453"},{"name":"Richard Hearne","id":"P 31413"},{"name":"Michael Dolan","id":"P 19494"},{"name":"Alec Mango","id":"P 45035"}],"tracks":[]}
{"index":{"_index":"play","_type":"type"}}
{"upc":"043396417847","title":"Captain Phillips","store":"V","salesrank":136,"artists":[],"directors":[{"name":"Paul Greengrass","id":"P 92504"}],"starring":[{"name":"Catherine Keener","id":"P 37341"},{"name":"Tom Hanks","id":"P 93341"}],"credits":[{"name":"Tom Hanks","id":"P 93341"},{"name":"Catherine Keener","id":"P 37341"},{"name":"Barkhad Abdirahman","id":"P 751663"},{"name":"Faysal Ahmed","id":"P 751665"},{"name":"Mahat M. Ali","id":"P 751664"},{"name":"Omar Berdouni","id":"P 410804"},{"name":"Mohammed Ali","id":"P 583705"},{"name":"Issak Farah Samatar","id":"P 753581"},{"name":"Thomas Grube","id":"P 215442"},{"name":"Mark Holden","id":"P 542391"},{"name":"San Shella","id":"P 364779"},{"name":"Terrence Anderson","id":"P 676532"},{"name":"Marc Anwar","id":"P 481223"},{"name":"David Webber","id":"P 329342"},{"name":"Amr El-Bayoumi","id":"P 753582"},{"name":"Vincenzo Nicoli","id":"P 215890"},{"name":"Kapil Arun","id":"P 753583"},{"name":"Louis Mahoney","id":"P 44656"},{"name":"Peter Landi","id":"P 753584"},{"name":"Angus MacInnes","id":"P 44210"},{"name":"Ian Ralph","id":"P 615114"},{"name":"Kristian Hjordt Beck","id":"P 753586"},{"name":"Kurt Larsen","id":"P 753587"},{"name":"Bader Choukouko","id":"P 753588"},{"name":"Idurus Shiish","id":"P 753590"},{"name":"Azeez Mohammed","id":"P 753592"},{"name":"Abdurazak Ahmed Adan","id":"P 753593"},{"name":"Duran Mohamed Hassan","id":"P 753595"},{"name":"Nasir Jama","id":"P 753596"},{"name":"Kadz Souleiman","id":"P 753597"},{"name":"Dean Franchuk","id":"P 753791"},{"name":"Rey Hernandez","id":"P 382526"},{"name":"Christopher Stadulis","id":"P 675631"},{"name":"Roger Edwards","id":"P 490924"},{"name":"John Patrick Barry","id":"P 562353"},{"name":"Raleigh Morse","id":"P 753792"},{"name":"Dale McClellan","id":"P 753793"},{"name":"Hugh Middleton","id":"P 753795"},{"name":"Raymond Care","id":"P 753796"},{"name":"Stacha Hicks","id":"P 753797"},{"name":"Will Bowden","id":"P 753798"},{"name":"Leonard Anderson","id":"P 753799"}],"tracks":[]}
{"index":{"_index":"play","_type":"type"}}
{"upc":"786936217650","title":"Brave Little Toaster","store":"V","salesrank":2213,"artists":[],"directors":[{"name":"Jerry Rees","id":"P 107808"}],"starring":[{"name":"Jon Lovitz","id":"P 43478"},{"name":"Thurl Ravenscroft","id":"P 58935"},{"name":"Tim Stack","id":"P 67454"},{"name":"Timothy E. Day","id":"P 129224"},{"name":"Deanna Oliver","id":"P 121807"}],"credits":[{"name":"Randy Bennett","id":"P 81417"},{"name":"Jim Jackman","id":"P 141487"},{"name":"Randy Cook","id":"P 168928"},{"name":"Judy Toll","id":"P 114305"},{"name":"Jon Lovitz","id":"P 43478"},{"name":"Tim Stack","id":"P 67454"},{"name":"Timothy E. Day","id":"P 129224"},{"name":"Thurl Ravenscroft","id":"P 58935"},{"name":"Deanna Oliver","id":"P 121807"},{"name":"Phil Hartman","id":"P 93625"},{"name":"Jonathon Benair","id":"P 131802"},{"name":"Joe Ranft","id":"P 107549"}]}
{"index":{"_index":"play","_type":"type"}}
{"upc":"773848552733","title":"Brave New World","store":"V","salesrank":12559,"artists":[],"directors":[{"name":"Leslie Libman","id":"P 238305"},{"name":"Larry Williams","id":"P 238680"}],"starring":[{"name":"Peter Gallagher","id":"P 25621"},{"name":"Tim Guinee","id":"P 29199"},{"name":"Sally Kirkland","id":"P 38510"},{"name":"Leonard Nimoy","id":"P 104553"},{"name":"Rya Kihlstedt","id":"P 200266"}],"credits":[{"name":"Peter Gallagher","id":"P 25621"},{"name":"Leonard Nimoy","id":"P 104553"},{"name":"Tim Guinee","id":"P 29199"},{"name":"Rya Kihlstedt","id":"P 200266"},{"name":"Sally Kirkland","id":"P 38510"},{"name":"Miguel Ferrer","id":"P 23233"},{"name":"Patrick Dancy","id":"P 237332"},{"name":"Steven Flynn","id":"P 219609"},{"name":"Wendy Benson","id":"P 230243"},{"name":"Steven Schub","id":"P 63870"},{"name":"Daniel Dae Kim","id":"P 343800"},{"name":"Jacob Chase","id":"P 237299"}],"tracks":[]}
{"index":{"_index":"play","_type":"type"}}
{"upc":"786936813111","title":"Brave","store":"V","salesrank":1341,"artists":[],"directors":[{"name":"Brenda Chapman","id":"P 189034"},{"name":"Mark Andrews","id":"P 290922"}],"starring":[{"name":"Emma Thompson","id":"P 70692"},{"name":"Julie Walters","id":"P 74515"},{"name":"Billy Connolly","id":"P 85695"},{"name":"Kevin Mckidd","id":"P 200457"},{"name":"Kelly Macdonald","id":"P 200403"}],"credits":[{"name":"Kelly MacDonald","id":"P 200403"},{"name":"Emma Thompson","id":"P 70692"},{"name":"Billy Connolly","id":"P 85695"},{"name":"Julie Walters","id":"P 74515"},{"name":"Kevin McKidd","id":"P 200457"},{"name":"Craig Ferguson","id":"P 271224"},{"name":"Robbie Coltrane","id":"P 14336"}],"tracks":[]}
'
# Do searches
curl -XPOST "$ELASTICSEARCH_ENDPOINT/_search?pretty" -d '
{
"fields": [
"title",
"salesrank",
"artists.name"
],
"query": {
"function_score": {
"functions": [
{
"filter": {
"term": {
"title.raw": "Captain Horatio Hornblower"
}
},
"boost_factor": 100
}
],
"query": {
"multi_match": {
"query": "Captain Horatio Hornblower",
"fields": [
"title.std^3",
"credits.name^1",
"directors.name^2",
"starring.name^2"
]
}
}
}
}
}
'
curl -XPOST "$ELASTICSEARCH_ENDPOINT/_search?pretty" -d '
{
"fields": [
"title",
"salesrank",
"artists.name"
],
"query": {
"multi_match": {
"query": "Captain Horatio",
"fields": [
"title.std^1",
"credits.name^1",
"directors.name^1",
"starring.name^1"
]
}
}
}
'
# Auto generated by Found's Play-tool at 2014-07-01T11:40:34+02:00
version: 0
title: Using function score query to boost exact match
description: ""
fields:
- "title"
- "salesrank"
- "artists.name"
query:
function_score:
functions:
- filter:
term:
title.raw: Captain Horatio Hornblower
boost_factor: 100
query:
multi_match:
query: "Captain Horatio Hornblower"
fields:
- "title.std^3"
- "credits.name^1"
- "directors.name^2"
- "starring.name^2"
---
fields:
- "title"
- "salesrank"
- "artists.name"
query:
multi_match:
query: "Captain Horatio"
fields:
- "title.std^1"
- "credits.name^1"
- "directors.name^1"
- "starring.name^1"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment