我试图在我的公共传输算法中实现Elasticsearch以获取GTFS数据,但不知道什么是“最佳”方式来获取我需要的数据(注意:我在C#中使用NEST)。多类型ElasticSearch搜索请求NEST C#
我已收录2类:
public class StopTimes : IGTFS
{
public string trip_id;
public string arrival_time;
public string departure_time;
public string stop_id;
public string stop_sequence;
public string stop_headsign;
public string shape_dist_traveled;
}
public class Trips : IGTFS
{
public string route_id;
public string service_id;
public string trip_id;
public string trip_head_sign;
public string trip_short_name;
public string direction_id;
public string shape_id;
}
我想知道如何我可以从stop_id
,让所有的相应route_id
在一个简单的请求(停止可以属于多个路由)。
目前,我试图做到这一点在2个步骤知道一个stop_id
可以在几个StopTimes
和几个trip_id
s内匹配属于一个route_id
(我有6K trip_id
S代表8个route_id
S)。
我让所有的
StopTimes
(超过2K点击)数据,其中stop_id
比赛。var result = _client.Search(s => s .Index("gtfs_data") .Type("stoptimes") .Fields("trip_id") .Query(q => q .Term("stop_id", id)).Size(10000000) );
然后我试图让旅行中的
route_id
,但我真的不知道如何进行(面?)var result2 = _client.Search<Trips>(s => s .Index(_ratpData) .Query(q => q .Terms(t => t.trip_id, terms)) //terms = array of stop_id .FacetTerm(t=>t .OnField(f=>f.route_id).Size(10000000)) );
感谢您的帮助:)
谢谢你的回答,我没有想过父母,我会试试这种方式:) – Orelus