繁体   English   中英

Elasticsearch 没有使用相同的令牌返回结果?

[英]Elasticsearch not returning result with same token?

ElasticSearch 中插入的数据是韩文,所以我不能给出确切的大小写,但假设我有一个词ABBCC被标记为["A","BBCC"] AZZXXX ["A","BBCC"]和另一个词AZZXXX标记为["A","ZZXXX"] .

如果我搜索 ABBCC,那么 AZZXXX 不应该出现,因为它们具有相同的标记吗? 或者这不是elasticsearch的工作方式吗?

这是我检查分析词的方式:

GET recpost_test/_analyze
{
  "analyzer": "my_analyzer",
  "text":"my query String!" 
}

这就是我创建索引的方式:

PUT recpost
{
  "settings": {
    "index": {
      "analysis": {
        "tokenizer": {
          "nori_user_dict": {
            "type": "nori_tokenizer",
            "decompound_mode": "mixed",
            "user_dictionary": "userdict_ko.txt"
          }
        },
        "analyzer": {
          "my_analyzer": {
            "type": "custom",
            "tokenizer": "nori_user_dict"
          }
        },
        "filter": {
        "substring": {
          "type": "edgeNGram",
          "min_gram": 1,
          "max_gram": 10
        }
      }
      }
    }
  }
}

这就是我搜索的方式:

GET recpost/_search
{
  "_source": [""],
  "from": 0,
  "size": 2,
  "query":{
    "multi_match": {
      "query" : "my query String!",
      "type": "best_fields", 
      "fields" : [
        "brandkor",
        "content",
        "itemname",
        "name",
        "review",
        "shortreview^2",
        "title^3"]
    }
  }
}

编辑:我尝试添加“分析器”字段进行搜索,但仍然无效

GET recpost/_search
{
  "_source": [""],
  "from": 0,
  "size": 2,
  "query":{
    "multi_match": {
      "query" : "깡스",
      "analyzer": "my_analyzer", 
      "type": "best_fields", 
      "fields" : [
        "brandkor",
        "content",
        "itemname",
        "name",
        "review",
        "shortreview^2",
        "title^3"]
    }
  }
}

EDIT2:这是我的映射:

{
  "recpost_test" : {
    "mappings" : {
      "properties" : {
        "@timestamp" : {
          "type" : "date"
        },
        "brandkor" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "content" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "field_statistics" : {
          "type" : "boolean"
        },
        "fields" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "itemname" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "name" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "offsets" : {
          "type" : "boolean"
        },
        "payloads" : {
          "type" : "boolean"
        },
        "positions" : {
          "type" : "boolean"
        },
        "review" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "shortreview" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "term_statistics" : {
          "type" : "boolean"
        },
        "title" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "type" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        }
      }
    }
  }
}

我没有看到您将字段安装到索引(映射)。 所以就我所知,您正在将所有字段(brandkor、内容等)索引为text .. 并且基本上您正在匹配精确值。

除非您将每个字段与其分析器相关联。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM