当前位置: 首页 > 面试题库 >

ElasticSearch映射不起作用

狄令
2023-03-14
问题内容

我正在尝试为各个字段使用不同的分析器设置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接受所有这些查询,因为我对每个查询都“确定”)。

我已经尝试过用雪球分析仪替换默认的分析仪,然后它可以工作;事实是,我完全需要拥有针对特定领域的分析仪,因此这对我没有帮助。我还尝试了不同的分析器,以及将“
index”设置为“ no”但无济于事的事情。

我究竟做错了什么?


问题答案:

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

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

要么

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


 类似资料:
  • 我已经定义了对象HomeContentDTO和SubscriberUpsertDTO的映射 下面是这两个对象的映射配置 HomeContentDTO中的所有映射值都没有复制到SubscriberUpsertDTO。有人知道原因吗?

  • 在代码中使用XSLT 2.0的字符映射功能时,我遇到了以下错误。 名称空间中的元素“样式表”http://www.w3.org/1999/XSL/Transform'命名空间中的子元素'character map'无效'http://www.w3.org/1999/XSL/Transform“是的 这是我的XSLT声明 请提供有关如何在XSLT中使用字符映射的帮助。

  • 当我访问localhost:8080/home-我得到: 当我访问localhost:8080/或localhost:8080/index时,看起来一切正常。 为什么一条路行得通,而另一条行不通? 还有一件事让我困惑:localhost:8080/homepage。html-返回我的主视图。 所以我的项目在这里:https://github.com/IRus/jMusic 我的web.xml se

  • 我使用fasterxml jackson进行json序列化。我已将日期序列化程序编写为 但它没有被调用。然而,其他Jackson序列化程序运行良好。 现在日期正被正确序列化。但是现在有效的JSON等效字符串并没有像这里提到的那样转换为JSON。

  • 我正在使用带有Spring启动的嵌入式elasticsearch,并且我试图使用注释来配置设置和映射。我遵循了本教程,其中解释了如何实现对多个字段的搜索。无论如何,我已经在我的文档实体中定义了settings.json和mappings.json,如下所述,但它似乎没有读取文件,因为卷曲映射不会返回文件中定义的相应配置。 索引由spring批处理执行。它从数据库读取数据并将其写入elasticse

  • 主要内容:映射类型,动态映射,映射参数映射是存储在索引中的文档的大纲。它定义数据类型,如或文档和规则中存在的字段的字符串和格式,以控制动态添加的字段的映射。 例如, 请求正文 响应 字段数据类型 Elasticsearch支持文档中字段的多种不同数据类型。以下数据类型用于在Elasticsearch中存储字段 - 核心数据类型 - 这些是几乎所有系统支持的基本数据类型,如整数,长整数,双精度,短整型,字节,双精度,浮点型,字符串,日期