我有以下配置用于定义我的同义词:
{
"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 DB创建了一个弹性搜索索引
我花了很多时间试图弄清楚为什么我无法获得任何同义词结果,我正在使用的查询是:
curl -XGET“ localhost:9200 / studies / _search” -H“内容类型:application / json” -d“ {\” query \“:{\” match \“:{\” indication \“: \“痴呆\”}}}
我得到0条结果。
我是Elasticsearch的新手,关于如何调试此问题,有什么好的建议吗?以及如何检查/验证是否已将同义词应用于索引,我使用以下查询来分析令牌:
curl -XGET“ localhost:9200 / studies / _analyze” -H“内容类型:application / json” -d“ {\” analyzer \“:\” synonymanalyzer_disease \“,\” text \“:\”这是痴呆症\“}”