Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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# Elastic-nest.Search与analyzer不兼容';不行。它可以';t检测分析仪_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# Elastic-nest.Search与analyzer不兼容';不行。它可以';t检测分析仪

C# Elastic-nest.Search与analyzer不兼容';不行。它可以';t检测分析仪,c#,elasticsearch,nest,C#,elasticsearch,Nest,我正在使用elastic with nest for c#。我在索引时创建分析器,但在搜索时它们不起作用。搜索查询不返回任何文档 这是我的班级 public class Car { Text(Analyzer = "greek",SearchAnalyzer ="custom",Index = true,IncludeInAll = true)] public string SERVICE_DESC { get; set; } } 这是我的搜索查询 var response = c

我正在使用elastic with nest for c#。我在索引时创建分析器,但在搜索时它们不起作用。搜索查询不返回任何文档

这是我的班级

public class Car {
   Text(Analyzer = "greek",SearchAnalyzer ="custom",Index = true,IncludeInAll = true)]
   public string SERVICE_DESC { get; set; }
}
这是我的搜索查询

var response = client.Search<Cars>(n => n
   .Index(index)
   .Type(type)
   .Size(searchSize)
   .From(0)
   .TrackScores(true)
   .Query(q => q
   .Match(qs => qs.Field(fieldsForSearchList[0]).Analyzer("custom")
   .Operator(Operator.And).Query("*"+searchWord+"*"))));

我不知道为什么,但当你在弹性映射字段时,它倾向于将其第一个字符小写。例如,当我用来添加一个字段“服务”时,它会自动转换为“服务”,因此,在我们类的映射和字段声明中,至少第一个字符必须是小写的。

轻推:请格式化您的代码;当问题和代码没有清晰地呈现时,人们很难提供帮助:)在
索引中映射是什么样子的?您是否可以在问题中添加在发出
GET/{index}/\u映射时返回的内容
var response = client.CreateIndex(index, s => s.Settings(s1 => s1.NumberOfShards(5)
  .NumberOfReplicas(5)
  .Analysis(a => a.TokenFilters(t => t
  .IcuTransform("greeklatin", it => it.Id("Greek-Latin; NFD; [:NonspacingMark:] Remove; NFC")//
  .Drection(IcuTransformDirection.Forward)) //
  .IcuTransform("latingreek", lg => lg.Id("Greek-Latin; NFD; [:Nonspacing Mark:] Remove; NFC")
  .Direction(IcuTransformDirection.Reverse))
  .EdgeNGram("greekedge", ed => ed.MaxGram(50)
  .MinGram(1)
  .Side(EdgeNGramSide.Front))
  .Stop("greekstop", sw => sw.StopWords())
  .Lowercase("greeklowercase", gl => gl.Language(Language.Greek.ToString()))
  .KeywordMarker("greekkeywords", gk => gk.Keywords("")).Stemmer("greekstemmer", gs => gs.Language(Language.Greek.ToString())))
  .CharFilters(ma => ma.Mapping("hmap", map => map.Mappings("h=>η"))).Analyzers(a1 => a1.Custom("greek", t =>t.Tokenizer("standard").Filters("greekedge",/* "greekstop",*/ "greeklowercase", "greekkeywords",/*"greekstemmer",*/ "greeklatin", "latingreek")
  .CharFilters("hmap")) .Custom("custom", cu => cu.Tokenizer("standard").Filters(/*"greekstop",*/ "greeklowercase", "greekkeywords",/* "greekstemmer" ,*/ "greeklatin", "latingreek")
  .CharFilters("hmap"))))));