簡體   English   中英

Elastic4s ngram 映射

[英]Elastic4s ngram mapping

我必須使用 elastic4s 創建一個像這樣的 ElasticSearch 映射:

  "mappings": {
    "properties": {
      "id": {
        "type": "keyword"
      },
      "name": {
       "type": "text",
       "analyzer": "ngram_analyzer",
       "fielddata": true
      },
      "lang": {
        "type": "keyword"
      },
      "order": {
        "type": "long"
      },
      "active": {
        "type": "boolean"
      }
      "description": {
        "type": "text"
      }
    }
  }

我可以

def mapping: Option[MappingDefinition] =
    Some(
      properties(
        KeywordField("id"),
        KeywordField("lang"),
        BasicField("order", "long"),
        BasicField("active", "boolean"),
        TextField("description")
      )
    )

用於 id、lang、order、active 和 description。
但是,我怎樣才能為name做這樣的映射。 問題在於其中的analyzerfielddata

你應該使用這個:

TextField("name").fielddata(true).analyzer("ngram_analyzer")

您還需要確保在索引設置中正確創建ngram_analyzer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM