Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NGram标记器中最大和最小值的差异_C#_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Nest - Fatal编程技术网 elasticsearch,nest,C#,elasticsearch,Nest" /> elasticsearch,nest,C#,elasticsearch,Nest" />

C# NGram标记器中最大和最小值的差异

C# NGram标记器中最大和最小值的差异,c#,elasticsearch,nest,C#,elasticsearch,Nest,我目前正在尝试在.NET项目中配置elasticsearch索引(我是ES新手) 我们正在使用NEST 7.3.0 client.Indices.Create(lineItemIndex, c => c .Settings(s => s .Analysis(a => a .Analyzers(aa => aa

我目前正在尝试在.NET项目中配置elasticsearch索引(我是ES新手)

我们正在使用NEST 7.3.0

client.Indices.Create(lineItemIndex,
                c => c
                    .Settings(s => s
                    .Analysis(a => a
                        .Analyzers(aa => aa
                            .Custom("mynGram_analyzer",ca => ca
                            .Filters(new List<string> {"lowercase"})
                            .Tokenizer("mynGram")))
                        .TokenFilters(tf => tf
                            .NGram("mynGram", td => td
                                .MaxGram(15).MinGram(4)))))
                    .Map<ElasticSearchLineItem>(m => m
                        .Properties(ps => ps
                            .Text(ss => ss
                            .Name(na => na.LineItemName)
                            .Analyzer("mynGram")))
                        .Properties(ps => ps
                            .Keyword(kw => kw
                                .Name(na => na.LineItemId)))
                        .Properties(ps => ps
                            .Text(ss => ss
                            .Name(na => na.LineItemNumber)
                            .Analyzer("mynGram")))));
client.index.Create(lineItemIndex,
c=>c
.Settings(s=>s
.分析(a=>a
.分析仪(aa=>aa
.Custom(“mynGram_分析器”,ca=>ca
.Filters(新列表{“小写”})
.Tokenizer(“mynGram”))
.TokenFilters(tf=>tf
.NGram(“mynGram”,td=>td
.MaxGram(15).MinGram(4(())))
.Map(m=>m
.Properties(ps=>ps
.Text(ss=>ss
.Name(na=>na.LineItemName)
.Analyzer(“mynGram”))
.Properties(ps=>ps
.关键字(千瓦=>千瓦
.Name(na=>na.LineItemId)))
.Properties(ps=>ps
.Text(ss=>ss
.Name(na=>na.LineItemNumber)
.分析器(“mynGram”()()));
我得到以下错误:

类型:非法参数\u异常原因:“NGram标记器中最大值和最小值之间的差异必须小于或等于:但为[11]。可以通过更改[index.max\u NGram\u diff]索引级别设置来设置此限制。”

我明白问题是什么。但是我不知道在哪里设置这个最大内存差异设置。我正试着看清楚

但他们使用3表示最小值和最大值


我还发现了一个例子,他们在JSON中有设置,可以发送到ES,但我不能在c#代码中复制它。我希望有人能帮助我。

您可以使用以下命令更改此设置

var createIndexResponse = await client.Indices.CreateAsync("index_name",
    c => c.Settings(s => s.Setting(UpdatableIndexSettings.MaxNGramDiff, 11)));
希望有帮助