Correspondência exata da pesquisa elástica
Eu estou usando elasticsearch e estou tendo um demônio de conseguir uma correspondência exata para acontecer. Eu tentei várias combinações de correspondência, query_string, etc, e eu não obtenho nada ou resultados ruins. A consulta é assim:
{
"filter": {
"term": {
"term": "dog",
"type": "main"
}
},
"query": {
"match_phrase": {
"term": "Dog"
}
},
"sort": [
"_score"
]
}
Resultados ordenados
10.102211 {u'term': u'The Dog', u'type': u'main', u'conceptid': 7730506}
10.102211 {u'term': u'That Dog', u'type': u'main', u'conceptid': 4345664}
10.102211 {u'term': u'Dog', u'type': u'main', u'conceptid': 144}
7.147442 {u'term': u'Dog Eat Dog (song)', u'type': u'main', u'conceptid': u'5288184'}
Eu vejo, é claro que "The Dog", "That Dog" e "Dog" todos têm a mesma pontuação, mas eu preciso descobrir como eu posso aumentar a correspondência exata "Dog" na pontuação.
Eu também tentei
{
"sort": [
"_score"
],
"query": {
"bool": {
"must": [
{
"match": {
"term": "Dog"
}
},
{
"match_phrase": {
"term": {
"query": "Dog",
"boost": 5
}
}
}
]
}
},
"filter": {
"term": {
"term": "dog",
"type": "main"
}
}
}
mas isso ainda me dá
11.887239 {u'term': u'The Dog', u'type': u'main', u'conceptid': 7730506}
11.887239 {u'term': u'That Dog', u'type': u'main', u'conceptid': 4345664}
11.887239 {u'term': u'Dog', u'type': u'main', u'conceptid': 144}
8.410372 {u'term': u'Dog Eat Dog (song)', u'type': u'main', u'conceptid': u'5288184'}