无法从弹性客户端搜索响应中获取_source字典的key-val
我正在尝试访问命中_Source词典以加载到DB中. 命中返回null,我在做什么错? 注意: 使用JSON数据返回SearchResponse,并确认了DebugInformation. 但是,命中和_source类以及基础数据变量无法访问,可变命中返回null. 调试模式下本地变量的以下代码显示数据. 如果需要 预先感谢. 尝试使用searchResponse.documents和foreach语句访问_source键值对,以访问命中内部的元素.但是无法访问_source键值对. /*Declared classes in visual studio console application for c#: .NET framework 4.5*/ class Program { public class Doc { public int took { get; set; } public bool t
4 2024-04-26
编程技术问答社区
鸟巢将范围边界显示为字符串而不是双数
我正在用nest查询Elasticsearch,并使用此代码: var mustTerms = new List, Nest.QueryContainer>>(); var dmaxPrice = maxPrice.HasValue ? (double?)maxPrice.Value : 100000d; var dminPrice = minPrice.HasValue ? (double?)minPrice.Value : 0d; mustTerms.Add(mt => mt.Range(rd => rd.OnField("price").LowerOrEquals(dmaxPrice).GreaterOrEquals(dminPrice))); Func, Nest.QueryContainer> queryFunc = qd => q
10 2024-04-26
编程技术问答社区
ElasticSearch NEST 删除所有文件
我正在使用ElastCisearch 2.3.0 我试图使用.NET和NEST从Elasticsearch删除文档. 我只想删除所有文档,而不是_mapping DeleteByQueryRequest r = new DeleteByQueryRequest(new IndexName() { Name = indexName }); r.QueryOnQueryString = "*"; var response = client.DeleteByQuery(r); 我尝试通过使用上述代码来执行此操作,但它不起作用. 请建议上述代码有什么问题或如何完成. 感谢您提前的帮助. 解决方案 不要通过查询使用删除,因为弹性2.0是有充分理由的.您可以轻松摆脱内存异常. 您应该删除整个索引并重新创建映射 static void Main(string[] args) {
10 2024-04-26
编程技术问答社区
将文件索引作为附件的FileSystemwatcher
我正在尝试重现观察文件夹的控制台应用程序,并将任何新的文档添加到文件夹中索引到es. 如果我一次移动/添加3-4个文档并能够索引,则可以正常工作.但是,如果我一次移动30个文档,则不会索引所有文档,而是仅索引一个文档.但是,如果我用断点运行代码,那么即使有30个文档也会被索引. 有人可以帮助我解决这个问题. static void OnCreated(object sender, FileSystemEventArgs e) { Console.WriteLine("File Created: Path: {0}, \n Name: {1}", e.FullPath, e.Name); Indexdoc(e.FullPath); } 如果我不在上述代码中调用indexDoc(e.fullpath)方法,而是打印更改,则将显示所有添加的所有文件名.因此,Filesystemwatcher没有问
10 2024-04-26
编程技术问答社区
SuggestCompletion Nest的使用
我正在尝试对一个位置(国家和城市)进行建议查询,我想在这两个字段上执行查询. 到目前为止,我的映射如下: var response = _client.CreateIndex(PlatformConfiguration.LocationIndexName, descriptor => descriptor.AddMapping( m => m.Properties( p => p.Completion(s => s .Name(n=>n.CountryName) .IndexAnalyzer("simple") .S
6 2024-04-26
编程技术问答社区
如何使用NEST进行子集结?
我试图通过某些标准使用桶聚合执行组文档,并对每个存储桶进行总和聚合. 下面是我的尝试 ISearchResponse paymentSearchResponse = ConnectionToES.EsClient() .Search (s => s .Index("payments") .Query(q => q.MatchAll() ) .Aggregations(a => a .Terms("paymentstatus_types", ts => ts
4 2024-04-26
编程技术问答社区
如何用C#来搜索Elastic中的pdf's内容?
弹性我可以使用C#访问C#,以获取简单的放置,发布,获取,删除. 现在,我将PDF文件摄入弹性. 我可以通过Kibana控制台成功搜索它. 但是在我的C#代码中,我没有得到任何搜索结果. 我很确定问题在我的代码的语法中. 我尝试了很多事情,但我仍然没有结果. 我尝试在"内容"和"附件"字段中搜索. 如何使用C#? 搜索附件 我在Kibana Console的成功要求: GET /attachments/_search { "query": { "match": { "attachment.content": "Meeting" } } } 但是使用C#它不成功: var searchResponse = client.Search(s => s .Query(q => q .Match(m => m .Fiel
4 2024-04-26
编程技术问答社区
用NEST和C#进行Elastic搜索滚动
我正在使用以下代码来循环/滚动我的弹性搜索框中的所有文档: const string indexName = "bla"; var client = GetClient(indexName); const int scrollTimeout = 1000; var initialResponse = client.Search (scr => scr.Index(indexName) .From(0) .Take(100) .MatchAll() .Scroll(scrollTimeout)) ; List results; results = new List(); if (!initialResponse.IsValid || string.IsNullOrEmpty(initialResponse.ScrollId)) throw new Exception(initialResponse.
4 2024-04-26
编程技术问答社区
Elasticsearch:通配符空间密钥检测
我想像在SQL Server中一样在Elasticsearch中搜索.这是我想做的查询. 从诸如'%samsung a50%' 之类的产品中选择 * 我可以使用以下C#代码进行此查询. c#: var urunler = elasticClient.Search (s => s.From(0) .Query(query => query.Bool(b => b.Must( x => x.Wildcard(x => x.Field("ad").Value("*" + value + "*")) )))).Documents.ToList(); ,但是如果单词之间有空间,则不会查询.例如,如果我搜索"三星"一词,则可以找到它.但是它找不到"三星A50"一词.因为"三星"和" A50"之间有一个空间.我希望它可以找到空间.我该怎么做?请用C#代码显示. 它也应该能够过滤我按现在的那一刻
0 2024-04-26
编程技术问答社区
使用NEST 2.x的ElasticSearch查询在滚动中没有返回结果
我正在尝试根据消息的出现从Elasticsearch中检索所有数据,我认为如果使用滚动,我可以循环循环直到文档搜索结束,但是以下查询返回文档= 0,但总计= 1954: var response = client.Search(s => s .Query(q => q.QueryString(qs => qs .DefaultField(m => m.Message).Query("\"" + message + "\""))) .SearchType(SearchType.Scan) .Scroll("60s"))
8 2024-04-25
编程技术问答社区
如何在Elasticsearch中匹配搜索查询中的单个单词
可以说我有一个名为complexId的字段,它具有特殊字符的值:fruit/1a.445/2.10.mango.因此,当我搜索Complex ID fruit/1a.445/2.10.mango之类的东西时,我应该能够获得结果. 我想要的是,我希望弹性搜索在这三个单词中至少匹配一个: 1. Complex 2. ID 3. fruit/1a.445/2.10.mango eg: - 以下是我的两个文档: { "name": "Joe", "complexId": "fruit/1a.445/2.10.mango" }, { "name": "Matt", "complexId": "car/35.6a5/chevy.20" } 用户搜索blah blah blah fruit/1a445/mango blah blah之类的东西,他应该得到以下结果: { "name": "Matt", "complexId": "f
14 2024-04-25
编程技术问答社区
带条款聚合的Elasticsearch日期柱状图报告
我正在尝试查询弹性搜索数据的Nest插件.我有一个基于领域的年度工作计数报告.目前,我已经使用了此及以下的日期直方图报告. POST insight/_search { "size": "0", "query": { "filtered": { "query": { "query_string": { "query": "(onet.familycode: 11)" } } } }, "aggregations": { "jobcounts_by_year": { "date_histogram": { "field": "jobdate", "interval": "year", "format": "yyyy" }, "aggregations": { "count
12 2024-04-25
编程技术问答社区
从弹性搜索结果中检索数据
我正在编写一种方法,该方法将在弹性搜索中搜索确定的查询字符串,我获得了一些结果,其中包括多个数据,例如高光,命中,得分;但是我只想获取并访问文档中的数据,我该如何在c#? 中实现. 到目前为止,这是我的代码: public string GetByOpinionDocumentTextElastic(string queryString) { var settings = new ConnectionSettings(new Uri(ConfigurationManager.AppSettings["ElasticSearchAddress"])).SetDefaultIndex("caselaw"); var client = new ElasticClient(settings); var result = client.Search(body => body.
10 2024-04-25
编程技术问答社区
Index = FieldIndexOption.No vs OptOut =true?
有什么区别 [ElasticProperty(OptOut =true)] 和 [ElasticProperty(Index = FieldIndexOption.No)] 根据答案在这里据说optout = true没有索引属性.我以为Index = FieldIndexOption.No正在这样做. 解决方案 为了易于解释,让我们考虑以下类: [ElasticType(Name = "blog")] public class Blog { [ElasticProperty(Name = "id")] public int Id { get; set; } [ElasticProperty(Name = "title", Index = FieldIndexOption.No)] public string Title { get; set; } [ElasticProperty(OptOut = true)]
6 2024-04-25
编程技术问答社区
为percolate查询创建一个索引
我正在尝试在elasticsearch中尝试渗透查询,但是创建索引,如 docs 我会遇到一个错误.我运行以下内容: PUT /my_percolate_index { "mappings": { "doctype": { "properties": { "message": { "type": "text" } } }, "queries": { "properties": { "query": { "type": "percolator" } } } } } 我遇到以下错误: { "error": { "root_cause": [ { "type": "illegal_a
4 2024-04-25
编程技术问答社区
如何用NEST 2.x将一个c#对象的列表存储到ElasticSearch中
我正在与xamarin.forms开发一个跨平台应用程序,并且我正在尝试寻找一种将对象列表直接存储到Elasticsearch中的方法,以便稍后可以根据列表的对象搜索结果.我的场景是吸引人: public class Box { [String(Index = FieldIndexOption.NotAnalyzed)] public string id { get; set; } public List categories { get; set; } } public class Category { [String(Index = FieldIndexOption.NotAnalyzed)] public string id { get; set; } public string name { get; set; } } 我的目的是能够搜索所有具有特定类别的框. 我试图像文档,但是如果我
4 2024-04-25
编程技术问答社区
单子对象中的多个Elasticsearch连接 在控制器类中获得一个特定的单子弹性搜索
将acqclient和ncclient传递到同一接口 //acqclient和ncclient是静态可读变量 public static void Connection(){ AcqClient = new ElasticClient(AcqConnection); NcClient= new ElasticClient(NcConnection); 创建单例对象 services.AddSingleton(AcqClient); services.AddSingleton(NcClient); } 在startup.cs 中实现 service.Connection(configuration) 在我的控制器类上进行此操作时,我将获得最后一个对象 public class control
2 2024-04-25
编程技术问答社区
Elastic Search为所有文件添加空值。我怎样才能添加完整的对象/类?
现在,弹性搜索正在添加图像中所示的空值,我希望看到弹性搜索中添加的完整JSON对象作为文档,以便我可以在其上进行搜索 代码 public async Task CreateDocumentAndIndex(T document, string index, Type objectType) where T : class { _client = CreateElasticClient(); var serializedObject = JsonConvert.SerializeObject(document, Formatting.None, new JsonSerializerSettings() { Referen
8 2024-04-25
编程技术问答社区
NEST Api SearchAfter在NEST中返回空,但在Kibana中有效
我们仅在应用程序中使用弹性搜索进行文档搜索,因此我们没有任何专家.我能够成功地使用TermQuery,SimpleQueryStringQuery和MatchPhraseQuery.但是我在文档中发现,使用From&Size进行分页不适用于生产和搜索. 但是我的实现返回null.这对我来说是令人困惑的参数中的内容,如nest api Object Initializer语法我的代码看起来像这样: var request = new SearchRequest { //Sort = new List //{ // new SortField { Field = Field(p=>)} //}, SearchAfter = new List { },
16 2024-04-24
编程技术问答社区
迁移Nest 6.6到Elasticsearch客户端8.不清楚如何定义分析仪
我试图将我的弹性搜索迁移到8,我很难理解如何正确迁移分析仪的定义. 这是我以前使用NEST 6.6的代码(尽可能相似): Client.CreateIndex( index => index.Settings( settings => settings.Analysis( analysis => analysis.TokenFilters( tokenFilter => tokenFilter.Synonym("synonym", syn => syn.SynonymsPath("analysis/synonym.txt")) ).Analyzers(analyzers => analyzers .Custom("mycustom", cust => cust .Filters("stop", "synonym").Tokenizer("standard") ) ) )
22 2024-04-24
编程技术问答社区