elasticsearch 带嵌套api的elasticsearch日期\范围查询,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch 带嵌套api的elasticsearch日期\范围查询,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch 带嵌套api的elasticsearch日期\范围查询

elasticsearch 带嵌套api的elasticsearch日期\范围查询,elasticsearch,nest,elasticsearch,Nest,我在惊奇漫画插件中运行了一个查询,它运行良好(返回4个文档),如下所示 我想用C#with NEST进行这个查询,我希望这个表达式的插件得到相同的结果,但它返回0 函数调用: EsCodes myes = new EsCodes(); myes.CreateConnection("localhost", "dota2"); var result = myes.getDatasBetweenDates("01/01/2010 00:

我在惊奇漫画插件中运行了一个查询,它运行良好(返回4个文档),如下所示

我想用C#with NEST进行这个查询,我希望这个表达式的插件得到相同的结果,但它返回0

函数调用:

EsCodes myes = new EsCodes();
                myes.CreateConnection("localhost", "dota2");
                var result = myes.getDatasBetweenDates("01/01/2010 00:00:00", "01/01/2015 00:00:00");
连接:

private static ElasticClient es = new ElasticClient();
      public void CreateConnection(string hostname, string defaultIndex)
        {
            var node = new Uri(string.Format("http://{0}:9200", hostname));
            var settings = new ConnectionSettings(node).SetDefaultIndex(defaultIndex).UsePrettyResponses();
            es = new ElasticClient(settings);
        }
和功能:

public List<IndexModel> getDatasBetweenDates(string startdate, string enddate)
        {
            ElasticClient myes = this.getConnection();
            List<IndexModel> indices = new List<IndexModel>();
            if (myes != null)
            {
                var result = myes.Search<dynamic>(q => q.Query(p => p.Range(v => v.OnField("dateofplay").GreaterOrEquals(startdate).LowerOrEquals(enddate))).Size(10)).Documents;
            }
                ...
                return indices;
            }
public List getDatasBetweenDate(字符串startdate,字符串enddate)
{
ElasticClient myes=this.getConnection();
列表索引=新列表();
如果(myes!=null)
{
var result=myes.Search(q=>q.Query(p=>p.Range(v=>v.OnField(“dateofplay”)。greaterequals(startdate)。lowerequals(enddate)))。Size(10))。文档;
}
...
回报指数;
}
这有什么不对

EDIT:我识别了NEST contaims创建的url。“/dota2/object/\u search..”
我不明白为什么它包含那种参数。。这就是我的问题所在。为什么它会在url中生成对象

请注意,在两个查询中使用的日期并不相同

在惊奇漫画中,您使用
“22/06/2010 00:00:00”
“16/09/2015 00:00:00”

在您的代码中使用
“22/06/2012 00:00:00”
“16/09/2014 00:00:00”


因此,这可能是您无法从代码中获得任何结果的唯一原因。

请以文本形式而不是屏幕截图形式提供相关的C#/NEST代码。这将使其他人在将来更容易搜索。你是对的。完成。您还可以使curl查询与C#/NEST查询匹配吗?在curl请求中,您正在搜索单个索引,在C#/NEST-all索引中。如果在添加其他索引时出现问题,那么在curl中会更加明显。@imotov我添加了连接函数,我也在嵌套中搜索相同的索引。但是返回0个文档。日期是DateTime格式的?很遗憾,不是。。我错过了之前的拍摄,但是两个日期参数都是一样的。编辑了。我想我知道原因了。。url中有一个额外的参数。这是毫无意义的,“/dota2/object/\u search…”哦,是的,这可能不是正确的映射类型,应该是
agust
。是的,我通过使用“search(q=>q.Index(“dota2”).AllTypes()”编辑查询解决了这个问题。现在一切都好了。谢谢你瓦伦丁。你总是激励我:)