我有一個問題,使用elasticsearch在這個問題上浪費了很多時間,可能你可以幫助我。Elasticsearch同義詞和類別提升
我與很多產品索引和我設升壓基於某些類別與此搜索:
{
"from": 1,
"size": 10
"query": {
"bool": {
'must': {
'match': {
'NAME': {
"query": "tv",
"operator": "and"
}
},
},
"should": {
"query_string": {
"query": 'category: 23',
"boost": 2
}
}
}
}
這項工作很好,結果的得分已經改變了這些類別。
現在我們想介紹搜索的同義詞,我們用這個方法來設置synoynyms作爲分析儀elasticsearch:
"analysis": {
"analyzer": {
"synonym": {
"tokenizer": "whitespace",
"filter": ["lowercase", "asciifolding", "synonym_filter"]
}
},
"filter": {
"synonym_filter": {
"type": "synonym",
"language": "spanish",
"synonyms": [
"tv, television, tdt"
]
}
}
}
我們查詢更改爲使用新的分析和這項工作很好:
{
"from": 1,
"size": 10
'query': {
'bool': {
'must': {
'match': {
'NAME': {
"query": "television",
"operator": "and",
"analyzer": "synonym"
}
}
}
}
}
}
但是,當我們嘗試應用推動這個查詢犯規變化
{
"from": 1,
"size": 10
'query': {
'bool': {
'must': {
'match': {
'NAME': {
"query": "television",
"operator": "and",
"analyzer" => "synonym"
}
},
},
"should": {
"query_string": {
"query": 'category: 23',
"boost" => 2
}
}
}
}
}
結果210
有人可以幫我嗎?
問候。
您使用的是自定義分析器嗎? – Kulasangar