gpt4 book ai didi

ElasticSearch 映射不起作用

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

我正在尝试使用针对各个字段的不同分析器设置 ElasticSearch 索引。但是,我似乎找不到设置特定领域分析器的方法;这是我创建(测试)索引的方法:

curl -XPOST localhost:9200/twitter
curl -XPUT 'http://localhost:9200/twitter/tweet/_mapping' -d '
{
"tweet" : {
"properties" : {
"message" : {
"type" : "string",
"search_analyzer" : "snowball",
"index_analyzer" : "snowball"
}
}
}
}'

如果我正确阅读了文档,那么这应该会创建类型为“tweet”的索引“twitter”,并且“message”字段的内容应该通过滚雪球词干分析器进行分析。为了对此进行测试,我尝试了以下查询:

curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{
"message" : "Look, a fighting War-Unicorn!"
}'
curl -XGET localhost:9200/twitter/_search?q=fight

如果我没记错的话,这应该会返回一个命中,因为战斗是战斗的核心;问题是,它没有,我的点击率为零。看起来 ElasticSearch 似乎完全忽略了映射(即使 ElasticSearch 接受所有这些查询,因为我对每个查询都返回“ok”。)

我已经尝试用滚雪球分析器替换默认分析器,然后就可以了;问题是,我完全需要有特定领域的分析仪,所以这对我没有帮助。我还尝试了不同的分析器和诸如将“index”设置为“no”之类的东西,但无济于事。

我做错了什么?

最佳答案

要使用特定于字段的分析器,您需要在查询中指定该字段。否则,使用默认分析器。尝试

curl -XGET 'localhost:9200/twitter/_search?q=message:fight'

curl -XGET 'localhost:9200/twitter/_search?df=message&q=looking'

关于ElasticSearch 映射不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6226546/

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