У меня есть следующий конфиг для определения моего синонима:
{
"settings": {
"analysis": {
"analyzer": {
"synonymanalyzer_disease": {
"tokenizer": "standard",
"filter": ["lowercase", "locationsynfilter"]
}
},
"filter": {
"locationsynfilter": {
"type": "synonym",
"synonyms": ["Alzheimers disease,presenile dementia,senile psychosis,dementia ,Alzheimer => Alzheimer's disease"]
}
}
}
},
"mappings": {
"testtype": {
"properties": {
"indication": {
"type": "string",
"analyzer": "synonymanalyzer_disease"
}
}
}
}
}
Я создал индекс эластичного поиска на основе базы данных postgreSQL
Я потратил много часов, пытаясь выяснить, почему я не могу получить какие-либо результаты для синонимов, запрос, который я использую:
curl -XGET "localhost: 9200 / Studies / _search" -H "Тип содержимого: application / json" -d "{\" query \ ": {\" match \ ": {\" индикация \ ": \ "деменция \"}}}
И я получаю 0 результатов.
Я новичок в Elasticsearch, есть ли хорошие советы о том, как мне отладить эту проблему? и как я могу проверить / проверить, были ли синонимы применены к моему индексу, я использовал следующий запрос для анализа токенов:
curl -XGET "localhost: 9200 / Studies / _analyze" -H "Тип содержимого: application / json" -d "{\" analyzer \ ": \" synonymanalyzer_disease \ ", \" text \ ": \" это размерность \ "}"