首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elastic4s ngram映射

Elastic4s ngram映射
EN

Stack Overflow用户
提问于 2020-01-29 10:10:29
回答 1查看 104关注 0票数 0

我必须使用ElasticSearch创建像这样的elastic4s映射:

代码语言:javascript
复制
  "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"
      }
    }
  }

我能做到

代码语言:javascript
复制
def mapping: Option[MappingDefinition] =
    Some(
      properties(
        KeywordField("id"),
        KeywordField("lang"),
        BasicField("order", "long"),
        BasicField("active", "boolean"),
        TextField("description")
      )
    )

对于id,lang,order,活动和描述。

但是,我如何才能为name做这样的映射。问题在于它内部的analyzerfielddata

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-30 10:05:17

你应该用这个:

代码语言:javascript
复制
TextField("name").fielddata(true).analyzer("ngram_analyzer")

还需要确保在索引设置中正确创建ngram_analyzer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59964776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档