Найти список последних, которые должны быть около (1 м) строки - PullRequest
0 голосов
/ 20 октября 2019

Я очень новичок вasticsearch и пытаюсь создать POC. У меня есть список последних, сгруппированных по идентификатору маршрута. По сути, это его долгая поездка. У меня есть несколько поездок, и каждая поездка имеет до 1000 лат. если дана серия лат и долг, мне нужно выяснить, к какому путешествию это относится. Я узнал, где находится автобус, и теперь мне нужно найти поездку. В некоторых поездках может быть много пересекающихся путей

Я попытался добавить длину командировки в линейную строку, а затем выполнить поиск на основе линейной строки, пересекая поиск. Но это дает мне неожиданные результаты. Я обнаружил, что запрос на пересечение линии не смотрит в радиусе нескольких метров, но проверяет, пересекает ли он всю карту. У меня есть около 10 GPS-очков от автобуса в разное время, теперь мне нужно выяснить, какая поездка с наибольшей уверенностью. Какова лучшая стратегия для этого?

var searchCordinates = new List<GeoCoordinate>();
            searchCordinates.Add(new GeoCoordinate(32.8638268, -96.7499847));
            searchCordinates.Add(new GeoCoordinate(32.746389, -96.851090));
            var searchResponse = client.Search<Shape>(s => s
                .From(0)
                .Size(100)
                .Query(q => q
                    .GeoShape(c => c
                        .Name("named_query")
                        .Boost(1.1)
                        .Field(p => p.path)

                        .Shape(t => t
                            .LineString(searchCordinates)
                        )
                        .Relation(GeoShapeRelation.Intersects)
                )
                )
            );
...