我想知道是什么原因。这是代码
package main
import (
"context"
"errors"
"fmt"
"time"
"github.com/olivere/elastic"
)
const (
indexName = "applications"
docType = "log"
appName = "myApp"
indexMapping = `{
"mappings" : {
"log" : {
"properties" : {
"app" : { "type" : "keyword" },
"message" : { "type" : "keyowrd" },
"time" : { "type" : "date" }
}
}
}
}`
)
type Log struct {
App string `json:"app"`
Message string `json:"message"`
Time time.Time `json:"time"`
}
func main() {
client, err := elastic.NewClient(elastic.SetURL("http://localhost:9200"))
if err != nil {
panic(err)
}
err = createIndexWithLogs(client)
if err != nil {
panic(err)
}
// err = findAndPrintAppLogs(client)
// if err != nil {
// panic(err)
// }
}
我收到一个错误,在Field ElasticSearch 6.4.3上声明了Type关键字没有处理程序。根据我得到的信息,ES 6.4.3应该使用type关键字。我不知道我的代码无法正常工作。
有人知道错误在哪里吗?
谢谢
答案 0 :(得分:1)
您在"keyword"
字段中将"keyowrd"
拼写为"message"
。更正如下:
{
"mappings" : {
"log" : {
"properties" : {
"app" : { "type" : "keyword" },
"message" : { "type" : "keyword" },
"time" : { "type" : "date" }
}
}
}
}