Releases: komoot/photon
Release 0.6.0
This release adds a port of Photon to the latest version of OpenSearch. The version is not database compatible with the ElasticSearch version and makes some changes to the way search works, creating simpler and faster search queries for some especially complex cases. This version of Photon also adds a new structured search endpoint (thanks @tobiass-sdl). The OpenSearch version is still experimental at this stage. In particular, expect the database schema to change some more as we are starting to take advantage of the improvements that happend since the currently used ElasticSearch 5 version. The long-term plan is to make the OpenSearch version the main and only Photon version with the major 1.0 release.
This release also sees a switch from Maven to Gradle for the build system. Gradle offers better support for building multiple flavours of Photon and gives better control over dependencies.
Other changes in this release are:
- new configuration parameters for setting the maximum number of returned results (thanks @karussell)
- fix importing addresses of objects that are not part of an address themselves (e.g. lakes, mountains)
- allow multiple CORS origins on the command line (thanks @burleight)
The ElasticSearch version of Photon is compatible with databases from version 0.5.0. To update, simply download and start the newest Photon version.
The OpenSearch version of Photon needs a different database format. We currently provide dumps in the experimental section of the download server. Please note that experimental dumps are usually made for the master version of Photon, not the 0.6.0 release specifically. The dumps are not prepared for structured searches. You need to create your own database to make use of this new feature.
Release 0.5.0
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
Release 0.4.4
Release 0.4.3
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.
Release 0.4.2
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.
Release 0.4.1
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.
Release 0.4.0
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)
Release 0.3.5
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)
Release 0.3.4
Release 0.3.3
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
.