首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用嵌套实现多个字段的正确方法

用嵌套实现多个字段的正确方法
EN

Stack Overflow用户
提问于 2014-05-14 17:26:55
回答 1查看 4.8K关注 0票数 9

我想用NEST实现全文搜索和标记化搜索,所以我想得到这样的多字段:

代码语言:javascript
复制
     "tweet": {
        "properties": {
           "message": {
              "type": "string",
              "store": true,
              "fields": {
                 "raw": {
                    "type": "string",
                    "index": "not_analyzed"
                 }
              }
           }
        }
     }

目前,我与NEST的映射是

代码语言:javascript
复制
[ElasticType(Name = "tweet")]
internal class Tweet
{
    [ElasticProperty(Name = "message")]
    public string Message { get; set; }
}

我搜索了有关NEST和ElasticSearch.net的文档,但什么也没有找到。

有没有自动获取字段中的原始字段的选项,或者我是否应该定义一个嵌套类并指定自己的原始字段(我更喜欢一种更干净的方式)?

EN

回答 1

Stack Overflow用户

发布于 2014-05-14 20:37:15

查看this answer

基本上,你可以这样做:

代码语言:javascript
复制
client.CreatIndex("tweets", c => c
    .AddMapping<Tweet>(m => m
        .MapFromAttributes()
        .Properties(props => props
            .MultiField(mf => mf
                .Name(t => t.Message)
                .Fields(fs => fs
                    .String(s => s.Name(t => t.Message).Analyzer("standard"))
                    .String(s => s.Name(t => t.Message.Suffix("raw")).Index(FieldIndexOption.not_analyzed)))))));
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23650618

复制
相关文章

相似问题

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