`

ES中如何使用逗号来分词

阅读更多

使用软件版本:elasticsearch-2.2.0

1. setting:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
curl -XPOST 'http://localhost:9200/data' -d '{
    "settings": {
        "analysis": {
            "analyzer": {
                "comma": {
                     "type""pattern",
                     "pattern":","
                    }
                }
            }
        }
    }
}
'

return:

1
{"acknowledged":true}

2. view index:

1
curl -XGET 'http://localhost:9200/data'

return:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
   "data": {
      "aliases": {},
      "mappings": {},
      "settings": {
         "index": {
            "creation_date""1456931889151",
            "analysis": {
               "analyzer": {
                  "comma": {
                     "pattern"",",
                     "type""pattern"
                  }
               }
            },
            "number_of_shards""5",
            "number_of_replicas""1",
            "uuid""aXyFMRzKQ0m_Ex8N2yJeSA",
            "version": {
               "created""2020099"
            }
         }
      },
      "warmers": {}
   }
}

3. mapping:

1
2
3
4
5
6
7
curl -XPOST 'http://localhost:9200/data/_mapping/record' -d '{
    "properties": {
        "id": { "type""string""index""not_analyzed" },
        "number": { "type""string""analyzer""comma""search_analyzer""comma" }
    }
}
'

return:

1
{"acknowledged":true}

4. view index:

1
curl -XGET 'http://localhost:9200/data'

return:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
   "data": {
      "aliases": {},
      "mappings": {
         "record": {
            "properties": {
               "id": {
                  "type""string",
                  "index""not_analyzed"
               },
               "number": {
                  "type""string",
                  "analyzer""comma"
               }
            }
         }
      },
      "settings": {
         "index": {
            "creation_date""1456972030705",
            "analysis": {
               "analyzer": {
                  "comma": {
                     "pattern"",",
                     "type""pattern"
                  }
               }
            },
            "number_of_shards""5",
            "number_of_replicas""1",
            "uuid""A9Z76U9DR0OBqn29smtq8w",
            "version": {
               "created""2020099"
            }
         }
      },
      "warmers": {}
   }
}

5. verify analyze:

1
curl -GET 'http://127.0.0.1:9200/data/_analyze?analyzer=comma&text=2,3,4,5,100-100'

return:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
   "tokens": [
      {
         "token""2",
         "start_offset": 0,
         "end_offset": 1,
         "type""word",
         "position": 0
      },
      {
         "token""3",
         "start_offset": 2,
         "end_offset": 3,
         "type""word",
         "position": 101
      },
      {
         "token""4",
         "start_offset": 4,
         "end_offset": 5,
         "type""word",
         "position": 202
      },
      {
         "token""5",
         "start_offset": 6,
         "end_offset": 7,
         "type""word",
         "position": 303
      },
      {
         "token""100-100",
         "start_offset": 8,
         "end_offset": 15,
         "type""word",
         "position": 404
      }
   ]
}

6. post data:

1
2
3
4
5
curl -PUT 'http://localhost:9200/data/record' -d '{
    "id" "001CV",
    "number" "2,3,4,5,100-100,1010"
}
'

return:

1
2
3
4
5
6
7
8
9
10
11
12
{
   "_index""data",
   "_type""record",
   "_id""AVM3kt-GiEDWd2i_MREb",
   "_version": 1,
   "_shards": {
      "total": 2,
      "successful": 1,
      "failed": 0
   },
   "created"true
}

7. post data:

1
2
3
4
5
curl -PUT 'http://localhost:9200/data/record' -d '{
    "id" "002CV",
    "number" "9999,8888"
}
'

return:

1
2
3
4
5
6
7
8
9
10
11
12
{
   "_index""data",
   "_type""record",
   "_id""AVM3k7vIiEDWd2i_MREc",
   "_version": 1,
   "_shards": {
      "total": 2,
      "successful": 1,
      "failed": 0
   },
   "created"true
}

8. post data:

1
2
3
4
5
curl -PUT 'http://localhost:9200/data/record' -d '{
    "id" "002CV",
    "number" "2,8888"
}
'

return:

1
2
3
4
5
6
7
8
9
10
11
12
{
   "_index""data",
   "_type""record",
   "_id""AVM3mCGMiEDWd2i_MREh",
   "_version": 1,
   "_shards": {
      "total": 2,
      "successful": 1,
      "failed": 0
   },
   "created"true
}

9. search data:

1
curl -XGET 'http://localhost:9200/data/record/_search?q=number:9999'

return:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
   "took": 41,
   "timed_out"false,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "hits": {
      "total": 1,
      "max_score": 0.19178301,
      "hits": [
         {
            "_index""data",
            "_type""record",
            "_id""AVM3k7vIiEDWd2i_MREc",
            "_score": 0.19178301,
            "_source": {
               "id""002CV",
               "number""9999,8888"
            }
         }
      ]
   }
}

10. search data:

1
curl -XGET 'http://localhost:9200/data/record/_search?q=number:2'

return:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
   "took": 2,
   "timed_out"false,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "hits": {
      "total": 2,
      "max_score": 0.37158427,
      "hits": [
         {
            "_index""data",
            "_type""record",
            "_id""AVM3mCGMiEDWd2i_MREh",
            "_score": 0.37158427,
            "_source": {
               "id""002CV",
               "number""2,8888"
            }
         },
         {
            "_index""data",
            "_type""record",
            "_id""AVM3kt-GiEDWd2i_MREb",
            "_score": 0.22295055,
            "_source": {
               "id""001CV",
               "number""2,3,4,5,100-100,1010"
            }
         }
      ]
   }
}

11. search data:

1
curl -XGET 'http://localhost:9200/data/record/_search?q=number:8888,100-100'

return:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
   "took": 3,
   "timed_out"false,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "hits": {
      "total": 3,
      "max_score": 0.22097087,
      "hits": [
         {
            "_index""data",
            "_type""record",
            "_id""AVM3mCGMiEDWd2i_MREh",
            "_score": 0.22097087,
            "_source": {
               "id""002CV",
               "number""2,8888"
            }
         },
         {
            "_index""data",
            "_type""record",
            "_id""AVM3kt-GiEDWd2i_MREb",
            "_score": 0.13258252,
            "_source": {
               "id""001CV",
               "number""2,3,4,5,100-100,1010"
            }
         },
         {
            "_index""data",
            "_type""record",
            "_id""AVM3k7vIiEDWd2i_MREc",
            "_score": 0.028130025,
            "_source": {
               "id""002CV",
               "number""9999,8888"
            }
         }
      ]
   }
}

12. search data:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
curl -XPOST 'http://localhost:9200/data/record/_search' -d '{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "number""2"
          }
        }
      ],
      "must_not": [
        {
          "term": {
            "number""8888"
          }
        }
      ]
    }
  }
}'

return:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
   "took": 3,
   "timed_out"false,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "hits": {
      "total": 1,
      "max_score": 0.22295055,
      "hits": [
         {
            "_index""data",
            "_type""record",
            "_id""AVM3kt-GiEDWd2i_MREb",
            "_score": 0.22295055,
            "_source": {
               "id""001CV",
               "number""2,3,4,5,100-100,1010"
            }
         }
      ]
   }
}

 

 

 

 

 

 

2
4
分享到:
评论
1 楼 ronin47 2016-03-05  
     es的api很棒

相关推荐

    7.17.1系列Elasticsearch的elasticsearch-analysis-ik分词器

    elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个主要特点: 中文分词:elasticsearch-analysis-ik 是基于...

    elasticsearch-ik中文分词器7.6.2.zip

    在Elasticsearch中使用IK分词器,首先需要将"elasticsearch-analysis-ik-7.6.2.jar"文件放到Elasticsearch的plugins目录下。然后,通过Elasticsearch的命令行工具或配置文件启用插件。配置通常涉及以下步骤: 1. ...

    elasticsearch7.17.8版本分词器插件安装包

    在Elasticsearch中,分词器(Analyzer)负责对索引和查询的文本进行分析,将其拆分成一系列的分词。对于中文,由于其独特的语法结构,预设的分词器可能无法满足需求,因此需要安装特定的中文分词器插件,如IK ...

    elasticsearch7.17.10版本分词器插件安装包

    描述中的"elasticsearch-analysis-ik-7.17.10.jar"是IK分词器针对Elasticsearch 7.17.10的适配版本。你需要从官方源或者第三方仓库下载这个jar包,确保它与你的Elasticsearch版本兼容。 4. **安装步骤** - **下载...

    elasticsearch7.17.9版本分词器插件安装包

    分词器是Elasticsearch中的核心组件之一,负责将输入的文本分解为可索引的基本单元——词语。这个插件特别引入了IK(Intelligent Chinese)分词器,它是针对中文语言进行优化的智能分词工具。IK分词器能够有效处理...

    elasticsearch7.17.14版本分词器插件安装包

    4. **配置分词器**: 安装完成后,需要在Elasticsearch的配置文件`elasticsearch.yml`中指定使用IK分词器。例如: ``` analysis: analyzer: my_analyzer: type: ik_max_word ``` 这里,`my_analyzer`是你...

    elasticsearch7.17.11版本分词器插件安装包

    现在,你可以向这个索引中插入包含中文的文档,并通过Elasticsearch的 `_analyze` API来检查分词结果: ```bash GET /my_index/_analyze { "analyzer": "my_analyzer", "text": "这是一段测试文本" } ``` 以上...

    elasticsearch的ik中文分词器

    Elasticsearch(ES)是一款强大的开源搜索引擎,它基于Lucene构建,提供实时、分布式、可扩展的搜索和分析能力。在处理中文文档时,由于中文句子中词语之间没有明显的分隔符,因此需要借助中文分词器进行分词,以便...

    elasticSearch(ES)最新版 ik分词插件7.10 elasticsearch-analysis-ik-7.10.0

    在实际使用中,你需要将这些jar文件复制到Elasticsearch的lib目录下,并通过Elasticsearch的命令行工具或API来安装和启用IK分词插件。配置文件的修改可以定制化分词行为,例如添加自定义字典,以适应特定领域的词汇...

    elasticsearch-analysis-ik 7.10.0 分词器

    将 IK 分词器集成到 Elasticsearch 中,Elasticsearch-analysis-ik 插件具备以下特性: 1. **无缝集成**:与 Elasticsearch API 完美融合,安装后即可使用。 2. **配置灵活**:支持通过配置文件调整分词策略,如...

    Elasticsearch平台中文分词词库.txt

    Elasticsearch电商平台中文分词词库

    elasticsearch-7.14.0+分词器+head插件一键下载

    总结来说,这个压缩包提供了一套完整的 Elasticsearch 环境,包括最新的 7.14.0 版本、必备的分词器支持以及方便的可视化工具 Head 插件,配合 PHP 客户端,可以快速搭建起一个功能完备的全文搜索引擎系统。...

    Elasticsearch中拼音分词器

    总之,Elasticsearch中的拼音分词器是处理中文数据不可或缺的工具,它能够有效地将中文文本转化为拼音,扩大搜索范围,提高检索的准确性和灵活性。通过合理的配置和优化,拼音分词器可以在各种应用场景中发挥重要...

    IK分词器elasticsearch-analysis-ik-7.17.16

    在Elasticsearch中,分词器的作用至关重要,它负责将用户输入的文本进行词汇切分,以便进行后续的搜索和分析操作。IK分词器以其高效、灵活和全面的特性,被广泛应用于Elasticsearch的中文处理场景。 **版本信息** ...

    elasticsearch7.17.13版本分词器插件安装包

    总的来说,安装Elasticsearch 7.17.13版本的IK分词器插件是一项关键操作,它将显著提升对中文文本的检索性能。理解并熟练掌握这个过程,对于利用ES进行日志收集、数据分析等任务至关重要。通过合理的配置和调优,...

    elasticsearch-7.0.0 版本 ik 中文分词器

    要在 Elasticsearch 7.0.0 中使用 IK 分词器,首先需要将分词器的插件包下载并安装到 Elasticsearch 的 plugins 目录下。在提供的压缩包中,包含了编译好的 IK 插件,可以直接使用,无需自行编译。 2. **配置IK...

    elasticSearch中IK分词器使用教程

    为了在Elasticsearch中使用IK分词器,首先需要进行安装配置。这里以Elasticsearch 5.5.0版本为例进行说明,需要注意的是,IK分词器的版本必须与所使用的Elasticsearch版本保持一致,否则可能会出现兼容性问题。 1. ...

    elasticsearch7.8.0版本的IK分词器

    在 Elasticsearch 7.8.0 版本中,IK 分词器已经发展到了相当成熟的阶段,提供了更丰富的配置选项和更好的分词效果。这个版本的 IK 分词器主要包含以下几个核心知识点: 1. **分词模式**: IK 分词器有两种分词模式...

    elasticsearch-analysis-pinyin-7.4.0 es拼音分词器7.4.0

    在Elasticsearch中安装插件,通常通过命令行工具执行,如`bin/elasticsearch-plugin install file:///path/to/elasticsearch-analysis-pinyin-7.4.0.zip`,这将自动处理所有依赖并安装插件。 在配置方面,开发者...

    windows版本ES7.17.3中文分词器elasticsearch-analysis-ik-7.17.3 .zip

    用于elasticsearch7.17.3这个版本的ik中文分词器,考虑到官网有时网络不稳定下载不下来,这里特意上传,方便大家使用; 目录结构如下: config -- 文件夹 plugin-security.policy plugin-descriptor.properties ...

Global site tag (gtag.js) - Google Analytics