gpt4 book ai didi

elasticsearch - Elasticsearch Facet token 化

转载 作者:行者123 更新时间:2023-12-03 02:07:32 27 4
gpt4 key购买 nike

我正在使用terms facet在elasticsearch服务器中获取顶级terms。现在,我的标签"indian-government"不被视为一个标签。将其视为"indian" "government"。因此,最常用的标签是"indian"如何解决此问题?我应该更改 token 化吗?

        'settings': {
'analysis': {
'analyzer': {
'my_ngram_analyzer' : {
'tokenizer' : 'my_ngram_tokenizer',
'filter': ['my_synonym_filter']
}
},
'filter': {
'my_synonym_filter': {
'type': 'synonym',
'format': 'wordnet',
'synonyms_path': 'analysis/wn_s.pl'
}
},
'tokenizer' : {
'my_ngram_tokenizer' : {
'type' : 'nGram',
'min_gram' : '1',
'max_gram' : '50'
}
}
}
}

编辑:基于注释,索引如下。结果不会改变:
    es.indices.create(
index="article-index",
body={
'settings': {
'analysis': {
'analyzer': {
'my_ngram_analyzer' : {
'tokenizer' : 'my_ngram_tokenizer',
'filter': ['my_synonym_filter']
}
},
'filter': {
'my_synonym_filter': {
'type': 'synonym',
'format': 'wordnet',
'synonyms_path': 'analysis/wn_s.pl'
}
},
'tokenizer' : {
'my_ngram_tokenizer' : {
'type' : 'nGram',
'min_gram' : '1',
'max_gram' : '50'
}
}
}
},
'mappings': {
'my_mapping_type': {
'_all': {
'enabled': False
},
'_source': {
'compressed': True
},
'properties': {
"tags": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
},
# ignore already existing index
ignore=400
)

编辑:解决。 my_mapping_type必须替换为doc_type(在我的情况下是其“文章”),并且可以正常工作:)

最佳答案

如果需要,将字段 not_analysed 设为should work

curl -XPUT localhost:9200/INDEX -d '{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 2
},
"mappings": {
"my_type": {
"_all": {
"enabled": false
},
"_source": {
"compressed": true
},
"properties": {
"tag": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}'

关于elasticsearch - Elasticsearch Facet token 化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23711001/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com