代码之家  ›  专栏  ›  技术社区  ›  NealWalters

弹性搜索-查询不匹配

  •  0
  • NealWalters  · 技术社区  · 6 年前

    我的索引是在C:

    CreateIndexRequest request = new CreateIndexRequest(index.ToString().ToLower());
    TypeMapping typeMapping = new TypeMapping();
    typeMapping.DateDetection = false;
    request.Mappings = new Mappings();
    request.Mappings.Add("object", typeMapping);
    esConfig.CreateIndex(request);
    

    下面是我试图查询的名为“traceText”的字段的事后定义:

          "traceText": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
    

    当我做这个搜索时,我没有得到任何点击:

    GET /local-tlrgloadtenderout-2018.06.04/_search
    {"query": {
         "term" : {"traceText":"Global-Catch-Error"}
    }}
    

    类似于类似领域中更简单的东西:

    GET /local-tlrgloadtenderout-2018.06.04/_search
    {"query": {
         "term" : {"traceLevel":"E"}
    }}
    

    当我使用Kibana时,我可以指定:

      traceText:'Global-Catch-Error'
    

      traceLevel: 'E' 
    

    一切都很完美。

    我需要做什么才能使弹性搜索查询正常工作?我使用的是6.0.0版。

    1 回复  |  直到 6 年前
        1
  •  0
  •   NealWalters    6 年前

    我试着把“term”改成“match”,结果成功了。请参阅StackOverflow问题中的说明: elasticsearch match vs term query