Komoot Photon Versions Save

an open source geocoder for openstreetmap data

0.5.0

2 months ago

This release brings back the ability to update a Photon database from a Nominatim source. The new mechanism is decoupled from the Nominatim update process, making it easier to handle. A long-standing issue around UIDs of house numbers documents has been fixed so that all data should now correctly be updated. This version also introduces a new API endpoint /nominatim-update/status which allows scripts to check if an update is already in progress.

This version also introduces a /status endpoint which returns information about the age of the database. (Many thanks to @ybert.)

If you do not use the update facility, then the release remains compatible with version 0.4 database dumps including the ones available on https://download1.graphhopper.com/public. If you want to run updates, you need to start with a fresh import using this release. Please be aware that updates now require an additional preparation step. Consult the README for more information.

Further changes:

  • add command-line parameter to set the timeout for ElasticSearch queries
  • fix issue where Photon couldn't be run from directories with spaces in the name
  • fix off-by-one error when expanding interpolations
  • remove lombok and replace uses with explicit code
  • typo and grammar fixes to log messages and documentation
  • update dependencies to latest versions

0.4.4

5 months ago

This is a minor release which mainly updates the dependent libraries, including a security critical update of the json library.

The release drops support for Java 8 and enables support for Java 21.

Thanks to @TKYK93 and @sebix for giving the README a refresh.

0.4.3

9 months ago

This release adds the tag filter functionality to reverse geocoding. The osm-tag parameter can now be used with reverse. Many thanks to @ybert for this new feature.

Other changes include some improvements to the build process (thanks @otbutz) and updates to versions of the dependencies.

This will be the last version to support Java 8.

0.4.2

1 year ago

This release adapts the import process to some recent changes in the name handling of linked places in Nominatim. Names of linked places now appear in an artificial _place_name tag which Photon needs to read in addition to the usual name tags.

On the search side, two changes attempt to improve fuzzy matching of search results:

  • Skipping of words is no longer allowed for short two-word queries. ES otherwise prefers to sometimes skip one of two words instead of matching against a wrongly spelled word.
  • Fuzzy matching is now attempted against all languages variants, not only against the chosen output language. There still is a restriction that multi-lingual queries don't work with fuzzy matching.

0.4.1

1 year ago

This is a bug fix release that fixes a regression with the -language parameter. Photon would no longer use the languages as imported when the parameter was omitted but fall back to the defaults.

0.4.0

1 year ago

This release brings limited support for synonym lists and classification terms (#585). This allows simple replacements of terms at query time. See the documentation for details on how to configure and use synonyms.

The API endpoints for updates is now disabled by default for security reasons. If you want to trigger updates while Photon is running, start Photon with -enable-update-api. Note: updates are not supported against version of Nominatim >= 4.0. See #638 for details.

The search and reverse APIs have a new filter parameter layer. It allows to restrict results to a certain address level like house, street or city. Use multiple times to allow more than one level. Thanks to @macolu for implementing this feature.

This release makes some changes to the database schema. Database dumps from versions < 0.4 are not compatible. The extracts on the graphhopper extract server have been updated to provide extracts for this new release. If you still need to run an older version of photon, there is a final set of dumps for versions 0.3.4 and 0.3.5 in the archived/0.3 directory.

Further changes:

  • compatibility fixes for the upcoming version 4.1 of Nominatim (#635)
  • log4j JndiLookup class removed for security reasons (#621)
  • fix duplicate call to completeDoc on updates (#639)
  • add sanity checks for housenumbers (#642)
  • remove dependencies to jackson-jaxrs, common-io, guava and nv-i18n
  • ensure import thread is always terminated (#650, thanks @codepainters)
  • dependencies updated to latest versions
  • code cleanup and reorganization (#648, #651, #653, #655, #661, thanks @tahini)

0.3.5

2 years ago

This release introduces a major reorganisation of the query structure resulting in better results for mixed-lingual queries (#538), addresses with house numbers, short terms for search-completion-requests and queries with a location bias (#580). There is a new parameter 'zoom' for the location bias which allows to indicate the extent to which the location bias is applicable.

The Photon database now can save global properties (#582). This is currently used to ensure that the database is compatible with the Photon version running and to remember the languages that were imported into the database. The latter means that the -language parameter is not longer necessary when running Photon in server mode.

There is a new parameter -extra-tags which is applicable at import time (#576). It takes a comma-separated list of tags to import from Nominatim's extratags column. The imported tags are displayed on result but are not searchable.

Further changes:

  • output importance and ES score in debug mode (#578)
  • improve import speed for POI objects (#547, thanks to @alfmarcua)
  • code cleanup and modernisation (#510, #511, #517, #518, #519, #520)
  • extend test suite (#515, #526, #587)
  • update dependencies (#505, #513, #524, #571)
  • improve startup of internal ES server (#506, #521)
  • included website converted to static site (#500, #501, #502)
  • demo server switched to https://photon.komoot.io (#508)

0.3.4

3 years ago

This is a bug-fix release which fixes the following issues:

  • missing state and county information (#483, #492)
  • missing country code due to incompatible library change (#491)
  • adapt to new location of linking information in Nominatim (#490)
  • make popups on website readable (#486)

0.3.3

3 years ago

This release adds major improvements to the computation of the address for each place. Please note that when you create a Photon database yourself, then you need Nominatim >= 3.5.1 to fully benefit from the changes. The weekly dumps already contain the improved addresses.

Further changes:

  • new command-line option for running updates (#454)
  • update dependencies (#459, #461)
  • add new fields: county, district, locality and type (#303, #468, #473)
  • allow searching for house name (#458)
  • respect Accept-Language header (#413)
  • make default language configurable (#469)

The default behaviour for Photon is now to return the local language unless the use chooses a language via the lang parameter or the Accept-Language header. To revert to the previous behaviour of returning the English version as default, please run photon with -default-language en.

0.3.2

4 years ago

This release adds the following new features to the API:

  • new options for enabling CORS headers (#398)
  • new bbox parameter (#364, #421)
  • output country codes (#425)
  • new debug flag for debugging ES queries (#407)

In addition, it adds improvements to the developement infrastructure:

  • improve dependency handling (#399)
  • add support for Java 11 (#408, #409)
  • add API-level tests next to existing unit tests (#420)

Many thanks to all contributors.

Note: when updating from an older version of Photon, you need to remove the module jar files from your photon data directory. Run rm photon_data/elasticsearch/modules/lang-painless/*jar (where photo_data is your photon data directory). If you forget to do this, startup fails with Jar Hell.