Awesome
db-stations-autocomplete
db-stations-autocomplete provides a stations search for Deutsche Bahn. Pulls its data from db-stations@4
(There's also db-hafas-stations-autocomplete
, which pulls its data from db-hafas-stations
).
Installing
npm install db-stations-autocomplete
Usage
autocomplete(query, results = 3, fuzzy = false, completion = true)
import {autocomplete} from 'db-stations-autocomplete'
autocomplete('Münch', 3)
This returns stations in a reduced form of the Friendly Public Transport Format. To get all details, pass use db-stations
.
[ {
id: '8000261', // München Hbf
relevance: 0.8794466403162056,
score: 11.763480191996974,
weight: 2393.2
}, {
id: '8004128', // München Donnersbergerbrücke
relevance: 0.8794466403162056,
score: 9.235186720706798,
weight: 1158
}, {
id: '8004132', // München Karlsplatz
relevance: 0.8794466403162056,
score: 9.144716179768407,
weight: 1124.3
} ]
If you set fuzzy
to true
, words with a Levenshtein distance <= 3
will be taken into account. This is a lot slower though (Apple M1, Node v19.1):
test | performance |
---|---|
non-fuzzy – berlin charlottenburg | 704 ops/sec |
fuzzy – berlin charlottenbrug (note the typo) | 204 ops/sec |
Setting completion
to false
speeds things up:
test | performance |
---|---|
completion – Münc Hbf | 477 ops/sec |
no completion – Münc Hbf | 2115 ops/sec |
Contributing
If you have a question or need support using db-stations-autocomplete
, please double-check your code and setup first. If you think you have found a bug or want to propose a feature, use the issues page.