c# - 使用嵌套的elasticsearch自动完成映射

标签 c# .net elasticsearch autocomplete nest

我正在使用Nest在.net中实现elasticsearch,并且是它的新手。我正在尝试映射建议者,请帮助我。如何在C#中使用Nest做到这一点

curl -X PUT localhost:9200/songs/song/_mapping -d '{
    "song" : {
        "properties" : {
            "name" : { "type" : "string" },
            "suggest" : { "type" : "completion",
                "index_analyzer" : "simple",
                "search_analyzer" : "simple",
                "payloads" : true
            }
        }
    }
}'

最佳答案

在下面找到完整的代码。它创建一个新的ElasticClient对象,然后将映射song添加到索引songs中。在执行此代码之前,请确保索引songs已经存在。无论如何,您也可以在通过代码创建映射之前创建索引songs。我让你自己去解决。查找如何在Nest here中创建映射的详尽示例。

var client = new ElasticClient(new ConnectionSettings(new Uri("http://localhost:9200")));

var response = client.Map<object>(d => d
    .Index("songs")
    .Type("song")
    .Properties(props => props
        .String(s => s
            .Name("name"))
        .Completion(c => c
            .Name("suggest")
            .IndexAnalyzer("simple")
            .SearchAnalyzer("simple")
            .Payloads())));

Debug.Assert(response.IsValid);

关于c# - 使用嵌套的elasticsearch自动完成映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34530264/

相关文章:

elasticsearch - Elasticsearch 单数和复数词显示不同的计数

elasticsearch - elasticsearch xpack-无法更改默认密码

c# - 在 foreach 循环内的开关嵌套中使用 `continue` 关键字

c# - 在空格处拆分长字符串

c# - Visual Studio 2017 测试资源管理器特征发现 : Shows more than TestCategory()

c# - 计时器 C#。开始、停止和获取调用之间的时间量

c# - 从 C# 将文件上传到 Azure 文件时如何更改最大并发值?

elasticsearch - 使用对象初始值设定项语法构建动态查询

c# - 将 shared_ptr 与托管语言引用进行比较

.net - Azure 部署 .NET 应用部署脚本