gpt4 book ai didi

elasticsearch - 为什么使用Edge Ngram分析器进行Elastic Search中的完成建议器需要比默认索引大15至17倍的索引

转载 作者:行者123 更新时间:2023-12-02 22:56:48 25 4
gpt4 key购买 nike

我正在对具有字母数字和冒号的多字段实现完成建议者( AA:890090:xyz:9090 )。
当我使用默认分析器作为完成提示(简单分析器)时,我无法获得建议(AA:890),因为简单分析器仅将标记化了字母。
为了克服这个问题,我们使用了 edge ngram分析器,它解决了建议问题,但是索引大小是的15至17倍,是默认分析器的的15到17倍。
eg索引大小约为 3GB(默认分析器为),而(具有ngram分析器大小)为50 GB

为什么使用ngram分析器的索引大小为,而却比默认分析器高很多, flex 搜索映射可以在下面找到。
请提出建议,如果有更好的方法可以做到这一点。

样本数据:
AA:890090:xyz:9090

样本映射:

 {
"settings": {
"analysis": {
"filter": {
"ngram_filter": {
"type": "edge_ngram",
"min_gram": 3,
"max_gram": 40
}
},
"analyzer": {
"ngram_analyzer": {
"type": "custom",
"tokenizer": "whitespace",
"filter": [
"lowercase",
"ngram_filter"
]
}
}
}
},
"mappings": {
"doc": {
"properties": {
"field1Suggest": {
"type": "completion",
"analyzer": "ngram_analyzer",
"search_analyzer": "whitespace"
},
"field2Suggest": {
"type": "completion",
"analyzer": "ngram_analyzer",
"search_analyzer": "whitespace"
}
}
}
}
}

最佳答案

您可以检查分析端点以查看会发生什么。输入多个单词的内容时,术语数量会大大增加。以下几行已经可以创建12个字词。

POST /posts/_analyze
{
"explain": true,
"field": "field1Suggest",
"text": "green yellow red"
}

输出给您这些术语:
gre yel red
gre yell red
gre yello red
gre yellow red
gree yel red
gree yell red
gree yello red
gree yellow red
green yel red
green yell red
green yello red
green yellow red

关于elasticsearch - 为什么使用Edge Ngram分析器进行Elastic Search中的完成建议器需要比默认索引大15至17倍的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50560149/

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