gpt4 book ai didi

elasticsearch - 使用 jdbc river 将 mac 地址映射到 elasticsearch 索引

转载 作者:行者123 更新时间:2023-11-29 02:55:15 25 4
gpt4 key购买 nike

我们有一个包含 mac 地址字段的类型。数据是使用 jdbc river 带来的

原因是当我们在 mac_address 字段上运行术语聚合时,结果看起来该字段被分解为索引键:

行动:

GET index/type/_search?search_type=count
{
"aggs" : {
"uniqe_macs" : {
"terms" : {
"field" : "mac_address"
}
}
}
}

结果:

  "aggregations": {
"uniqe_visitors": {
"buckets": [
{
"key": "00",
"doc_count": 1608759
},
{
"key": "10",
"doc_count": 674633
},
{
"key": "18",
"doc_count": 588591
},
{
"key": "f0",
"doc_count": 544897
},
{
"key": "60",
"doc_count": 538841
},
{
"key": "40",
"doc_count": 529085
},
{
"key": "08",
"doc_count": 523681
},
{
"key": "d0",
"doc_count": 515774
},
{
"key": "54",
"doc_count": 514771
},
{
"key": "04",
"doc_count": 509629
}
]
}
}

可以做些什么来强制弹性映射这个字段而不是将它分解成键?

最佳答案

你能尝试在 es 字段 mac_address 上使用以下映射、自定义分析器吗?

定义分析器

curl -XPUT http://localhost:9200/INDEX  -d '
{
"settings" : {
"analysis" : {
"analyzer" : {
"my_edge_ngram_analyzer" : {
"tokenizer" : "my_edge_ngram_tokenizer"
}
},
"tokenizer" : {
"my_edge_ngram_tokenizer" : {
"type" : "edgeNGram",
"min_gram" : "2",
"max_gram" : "17"
}
}
}
}
}'

应用映射

curl -XPUT http://localhost:9200/INDEX/TYPE/_mapping  -d '
{
"TYPE": {
"properties" {
"mac_address": {
"type": "string",
"index_analyzer" : "my_edge_ngram_analyzer",
"search_analyzer": "keyword"
}
}
}
}'

关于elasticsearch - 使用 jdbc river 将 mac 地址映射到 elasticsearch 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25745230/

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