Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 15452|Απάντηση: 0

[Πηγή] Πληροφορίες γεωγραφικής τοποθεσίας Java στο ElasticSearch (geo_point)

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 9/1/2019 5:25:39 μ.μ. | | |
Σύντομη εισαγωγή

Γνωρίζουμε ότι το ES υποστηρίζει μια μεγάλη ποικιλία τύπων δεδομένων, εκτός από τους κοινούς βασικούς τύπους δεδομένων μας, υποστηρίζει επίσης τύπους δεδομένων που καταγράφουν πληροφορίες τοποθεσίας. Στο ES, υπάρχουν δύο τύποι δεδομένων που καταγράφουν πληροφορίες γεωγραφικής θέσης, δηλαδή geo_shap και geo_point, και θα παρουσιάσω εν συντομία geo_point τύπους παρακάτω
geo_point υποστηρίζει πολλαπλές μεθόδους μεταφοράς δεδομένων:

συμβολοσειρά
Θέση: lat + "," + lon

Πίνακας
Θέση: {"lat": ...,"lon": ...}

Αντικείμενο
Τοποθεσία: [lon, lat]


Σημείωση: Πιθανώς όλοι να έχουν πατήσει σε αυτό το λάκκο τουλάχιστον μία φορά == Τα γεωγραφικά σημεία συντεταγμένων είναι πρώτα το γεωγραφικό πλάτος και το τελευταίο γεωγραφικό μήκος ("γεωγραφικό πλάτος, γεωγραφικό μήκος") όταν εκφράζονται ως συμβολοσειρές, ενώ οι πίνακες αναπαρίστανται με την αντίθετη μορφή, με το γεωγραφικό μήκος πρώτο και το γεωγραφικό πλάτος τελευταίο ([γεωγραφικό μήκος, γεωγραφικό πλάτος]). Στην πραγματικότητα, στο Elasticesearch, είτε έχει τη μορφή συμβολοσειράς είτε πίνακα, το γεωγραφικό πλάτος έρχεται πρώτο και το γεωγραφικό μήκος τελευταίο. Ωστόσο, τις πρώτες μέρες, προκειμένου να προσαρμοστεί στις προδιαγραφές μορφοποίησης του GeoJSON, προσαρμόστηκε η αναπαράσταση των μορφών πίνακα. Αυτό εξηγείται στον επίσημο ιστότοπο.
Υπάρχουν γενικά οι ακόλουθες απαιτήσεις ερωτήματος για geo_point τύπους

Ερώτημα απόστασης
Βρείτε σημεία εντός εμβέλειας από το κεντρικό σημείο

Ερώτημα εύρους απόστασης (υπό απόσυρση)
Τα σημεία ερωτημάτων εντός του καθορισμένου εύρους του κεντρικού σημείου αφαιρούνται από το API στη νέα έκδοση του ES, επομένως δεν θα το εξηγήσω πολύ εδώ
Ερώτημα οριοθέτησης
Βρείτε σημεία μέσα σε ένα ορθογώνιο που αποτελείται από ένα καθορισμένο σημείο

ερώτημα πολυγώνου
Βρείτε σημεία σε ένα πολύγωνο που αποτελείται από πολλά σημεία

Το εργοστάσιο SearchSourceBuilder που κατασκευάστηκε για διαφορετικά ερωτήματα σε Java έχει ως εξής:


ως εξής:

Ο κωδικός επιπέδου ελεγκτή έχει ως εξής:

[1]. Τρόπος χρήσης

Πριν χρησιμοποιήσουμε geo_point τύπους, θα πρέπει πρώτα να δηλώσουμε ρητά το πεδίο ως τον geo_point τύπο μέσω αντιστοίχισης κατά τη δημιουργία του ευρετηρίου, ως εξής:


Παραπάνω δημιουργήσαμε ένα νέο ευρετήριο με το όνομα restraunt, και στο αρχείο αντιστοίχισής του, καθορίζουμε ρητά τον τύπο του πεδίου "τοποθεσία" ως "geo_point"

[2] Προετοιμάστε ορισμένα δεδομένα

Στο Kibana έχουμε ετοιμάσει τα ακόλουθα δεδομένα:


Έχουμε ετοιμάσει 7 κομμάτια δεδομένων παραπάνω και, στη συνέχεια, πρέπει να εκτελέσουμε το ερώτημα για να δούμε αν η διεπαφή μας ανταποκρίνεται στις ανάγκες μας.

[3] Έρευνα

Απόσταση ερωτήματος


Οι άλλες δύο έρευνες είναι οι ίδιες με τις παραπάνω.




Προηγούμενος:Το πεδίο ElasticsearchParseException[πρέπει να είναι είτε [lat], [lon] ή [geohash]]
Επόμενος:Το Discuz εγκαθιστά την εφαρμογή και λέει "Τα δεδομένα δεν αναγνωρίζονται, επιστρέψτε" λύση
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com