gpt4 book ai didi

elasticsearch - 带空间的ElasticSearch部分映射

转载 作者:行者123 更新时间:2023-12-03 01:46:51 25 4
gpt4 key购买 nike

在涉及空格之前,我的部分映射和查询非常有用,例如,术语Jon Doe将其术语 vector 分解为.。

"terms": {
"j": {
"term_freq": 1
},
"jo": {
"term_freq": 1
},
"jon": {
"term_freq": 1
},
"d": {
"term_freq": 1
},
"do": {
"term_freq": 1
},
"doe": {
"term_freq": 1
}
}

但我希望它是..
"terms": {
"j": {
"term_freq": 1
},
"jo": {
"term_freq": 1
},
"jon": {
"term_freq": 1
},
"jon ": {
"term_freq": 1
},
"jon d": {
"term_freq": 1
},
"jon do": {
"term_freq": 1
},
"jon doe": {
"term_freq": 1
}
}

这是我的映射和设置:

对应:
   name: {
type: 'string',
term_vector: 'yes',
analyzer: 'ngram_analyzer',
search_analyzer: 'standard',
include_in_all: true
}

设定:
settings: {
index: {
analysis: {
filter: {
ngram_filter: {
type: 'edge_ngram',
min_gram: 1,
max_gram: 15
}
},
analyzer: {
'ngram_analyzer': {
filter: [
'lowercase',
'ngram_filter'
],
type: 'custom',
tokenizer: 'standard'
}
}
},
number_of_shards: 1,
number_of_replicas: 1
}
}
};

我将如何处理?

最佳答案

您只需要在自定义分析器中使用其他标记器:

    "analyzer": {
"ngram_analyzer": {
"filter": [
"lowercase",
"ngram_filter"
],
"type": "custom",
"tokenizer": "keyword"
}
}

关于elasticsearch - 带空间的ElasticSearch部分映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43219837/

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