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

使用token_Count字段计算n个grams

  •  0
  • briarheart  · 技术社区  · 5 年前

    是否可以使用 token_count 田野? 假设我有以下映射:

    {
      "settings": {
        "analysis": {
          "filter": {
            "trigrams_filter": {
              "type": "ngram",
              "min_gram": 3,
              "max_gram": 3
            }
          },
          "analyzer": {
            "trigrams": {
              "type": "custom",
                "tokenizer": "standard",
                "filter": ["lowercase", "trigrams_filter"]
              }
          }
        }
      }, 
      "mappings": {
        "doc": {
          "properties": {
            "message": {
              "type": "text",
              "analyzer": "trigrams",
              "fields": {
                "length": { 
                  "type": "token_count",
                  "analyzer": "trigrams"
                }
              }
            }
          }
        }
      }
    }
    

    有了这个映射,我希望“quick”的值有三个术语:“qui”、“uic”和“ick”,但是下面的查询不会返回任何hit,尽管事实上 message.length 字段有 trigrams 分析仪:

    {
      "query": {
        "term": {
          "message.length": 3
        }
      }
    }
    
    0 回复  |  直到 5 年前