使用nest弹性搜索自动完成映射

本文关键字:映射 搜索 nest 使用 | 更新日期: 2023-09-27 18:28:26

我正在使用nest在.net中实现弹性搜索,我对它很陌生。我正在尝试映射建议者,请帮助我。如何在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
            }
        }
    }
}'

使用nest弹性搜索自动完成映射

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

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);