#elasticsearch
Вопрос:
у меня есть пара синонимов в моем фильтре, но результаты неверны в соответствии с определением синонимов.В запросе он не должен получать документ со значением «гвадалахара», поскольку синоним является явным. например, если бы я поставил синоним так: сапопан => гвадалахара
{
"mappings": {
"properties": {
"Appearances": {
"properties": {
"Appearance": {
"properties": {
"city": {
"type": "text",
"fielddata": true,
"analyzer": "keyword",
"fields": {
"synonyms": {
"type": "text",
"analyzer": "cities_analyzer"
}
}
}
}
}
}
}
}
},
"settings": {
"index": {
"analysis": {
"filter": {
"asciifolding_filter": {
"type": "asciifolding",
"preserve_original": "true"
},
"cities_synonym": {
"type": "synonym",
"synonyms": [
"guadalajara => zapopan"
]
}
},
"analyzer": {
"cities_analyzer": {
"filter": [
"asciifolding_filter",
"lowercase",
"cities_synonym"
],
"tokenizer": "standard"
}
}
}
}
}
}
это мой вопрос :
{
"query": {
"bool": {
"must": [
{
"match": {
"Appearances.Appearance.city.synonyms": "zapopan"
}
}
]
}
}
}
это мои документы :
POST test2/_doc
{
"Appearances" : {
"Appearance" : {
"city" : "GUADALAJARA"
}
}
}
POST test2/_doc
{
"Appearances": {
"Appearance": {
"city": "ZAPOPAN"
}
}
}