在elasticsearch中使用边ngram索引数据,包括空格,可以通过以下步骤实现:
下面是一个完整的示例:
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_ngram_analyzer": {
"tokenizer": "my_ngram_tokenizer"
}
},
"tokenizer": {
"my_ngram_tokenizer": {
"type": "ngram",
"min_gram": 1,
"max_gram": 20,
"token_chars": [
"letter",
"digit",
"whitespace"
]
}
}
}
},
"mappings": {
"properties": {
"my_field": {
"type": "text",
"analyzer": "my_ngram_analyzer"
}
}
}
}
POST /my_index/_doc
{
"my_field": "Hello World"
}
GET /my_index/_search
{
"query": {
"match": {
"my_field": "Wor"
}
}
}
在上述示例中,我们创建了一个名为"my_index"的索引,并定义了一个名为"my_field"的字段。该字段使用了自定义的边ngram分析器"my_ngram_analyzer",该分析器将文本按照ngram的方式进行切分,并包括空格。然后,我们索引了一个包含"Hello World"的文档,并通过查询匹配了"my_field"字段中的"Wor"。
推荐的腾讯云相关产品:腾讯云 Elasticsearch
腾讯云 Elasticsearch是一种高度可扩展的开源搜索和分析引擎,可帮助您快速构建和部署全文搜索、结构化搜索、分析和可视化等功能。它提供了强大的搜索和分析能力,适用于各种应用场景,如日志分析、电商搜索、内容检索等。
产品介绍链接地址:腾讯云 Elasticsearch
Elastic 中国开发者大会
云+社区技术沙龙[第17期]
Elastic 中国开发者大会
云原生正发声
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第9期]
云+社区技术沙龙[第1期]
云+社区技术沙龙[第16期]
腾讯云GAME-TECH沙龙
云+社区技术沙龙第33期
领取专属 10元无门槛券
手把手带您无忧上云