elasticsearch ElasticSearch Nest 7.x自动建议编译错误,elasticsearch,asp.net-web-api,nest,elasticsearch,Asp.net Web Api,Nest" /> elasticsearch ElasticSearch Nest 7.x自动建议编译错误,elasticsearch,asp.net-web-api,nest,elasticsearch,Asp.net Web Api,Nest" />

elasticsearch ElasticSearch Nest 7.x自动建议编译错误

elasticsearch ElasticSearch Nest 7.x自动建议编译错误,elasticsearch,asp.net-web-api,nest,elasticsearch,Asp.net Web Api,Nest,我正在尝试使用Nest 7.4和我从中找到的示例创建autosuggest查询 但我得到一个错误,项目和项目过滤器没有找到。 你能告诉我我遗漏了什么吗?我想Project可能引用了DTO对象,但这可能不是真的,因为如果我用DTO替换Project,我会出错 void getSuggestions() { var settings = new ConnectionSettings(new Uri("http://localhost:9200"))

我正在尝试使用Nest 7.4和我从中找到的示例创建autosuggest查询 但我得到一个错误,项目和项目过滤器没有找到。 你能告诉我我遗漏了什么吗?我想Project可能引用了DTO对象,但这可能不是真的,因为如果我用DTO替换Project,我会出错

void getSuggestions()
        {
            var settings = new ConnectionSettings(new Uri("http://localhost:9200"))
               .DefaultIndex(index);

            var client = new ElasticClient(settings);

            var results = client.Search<GenericSearchDto>(new SearchRequest<GenericSearchDto>
                      {
                          Query = ProjectFilter,
                          DocValueFields = Fields<GenericSearchDto>(f => f.Name),
                          Suggest = new SuggestContainer
    {
        {
            "my-term-suggest", new SuggestBucket
            {
                Text = "hello world",
                Term = new TermSuggester
                {
                    MaxEdits = 1,
                    MaxInspections = 2,
                    MaxTermFrequency = 3,
                    MinDocFrequency = 4,
                    MinWordLength = 5,
                    PrefixLength = 6,
                    SuggestMode = SuggestMode.Always,
                    Analyzer = "standard",
                    Field = Field<GenericSearchDto>(p => p.Name),
                    ShardSize = 7,
                    Size = 8
                }
            }
        },
        {
            "my-completion-suggest", new SuggestBucket
            {
                Prefix = Project.Instance.Name,
                Completion = new CompletionSuggester
                {
                    Contexts = new Dictionary<string, IList<ISuggestContextQuery>>
                    {
                        {
                            "color",
                            new List<ISuggestContextQuery>
                                { new SuggestContextQuery { Context = Project.First.Suggest.Contexts.Values.SelectMany(v => v).First() } }
                        }
                    },
                    Fuzzy = new SuggestFuzziness
                    {
                        Fuzziness = Fuzziness.Auto,
                        MinLength = 1,
                        PrefixLength = 2,
                        Transpositions = true,
                        UnicodeAware = false
                    },
                    Analyzer = "simple",
                    Field = Field<GenericSearchDto>(p => p.Suggest),
                    Size = 8,
                    SkipDuplicates = true
                }
            }
        },
        {
            "my-phrase-suggest", new SuggestBucket
            {
                Text = "hello world",
                Phrase = new PhraseSuggester
                {
                    Collate = new PhraseSuggestCollate
                    {
                        Query = new PhraseSuggestCollateQuery
                        {
                            Source = "{ \"match\": { \"{{field_name}}\": \"{{suggestion}}\" }}",
                        },
                        Params = new Dictionary<string, object>
                        {
                            { "field_name", "name" }
                        },
                        Prune = true
                    },
                    Confidence = 10.1,
                    DirectGenerator = new List<DirectGenerator>
                    {
                        new DirectGenerator { Field = "description" }
                    },
                    GramSize = 1,
                    Field = "name",
                    RealWordErrorLikelihood = 0.5,
                    TokenLimit = 5,
                    ForceUnigrams = false
                }
            }
void getSuggestions()
{
var设置=新连接设置(新Uri(“http://localhost:9200"))
.DefaultIndex(索引);
var客户端=新的ElasticClient(设置);
var results=client.Search(新的SearchRequest
{
Query=ProjectFilter,
DocValueFields=字段(f=>f.Name),
建议=新建议容器
{
{
“我的建议”,新建议
{
Text=“你好,世界”,
术语=新术语建议者
{
MaxEdits=1,
MaxInspections=2,
MaxTermFrequency=3,
MinDocFrequency=4,
MinWordLength=5,
预桥长度=6,
SuggestMode=SuggestMode.始终,
Analyzer=“标准”,
字段=字段(p=>p.Name),
ShardSize=7,
尺寸=8
}
}
},
{
“我的完成建议”,新建议
{
前缀=Project.Instance.Name,
完成=新的CompletionSuggester
{
上下文=新词典
{
{
“颜色”,
新名单
{new SuggestContextQuery{Context=Project.First.Suggest.Contexts.Values.SelectMany(v=>v.First()}}
}
},
模糊性=新的暗示模糊性
{
模糊=模糊。自动,
MinLength=1,
预桥长度=2,
换位=真,
Unicode数据仓库=错误
},
Analyzer=“简单”,
字段=字段(p=>p.Suggest),
尺寸=8,
SkipDuplicates=true
}
}
},
{
“我的短语建议”,新的SuggestBucket
{
Text=“你好,世界”,
短语=新短语建议者
{
Collate=新短语suggestcollate
{
Query=新短语suggestcollatequery
{
Source=“{\'match\”:{\“{{field\u name}}\”:\“{{suggestion}}\”}”,
},
Params=新字典
{
{“字段名称”,“名称”}
},
Prune=true
},
置信度=10.1,
DirectGenerator=新列表
{
新建DirectGenerator{Field=“description”}
},
GramSize=1,
Field=“name”,
realWordError似然=0.5,
TokenLimit=5,
力图=假
}
}