• Add load_csv_file batch loader


  • Faster new scoring algorithm (#431)
  • Upgraded Falcon to 1.4.1
  • autocomplete and fuzzy are not adding any more their collectors automagically, instead they are now hard coded in the default config; if you haven't changed RESULTS_COLLECTORS_PYPATHS in your local config this should not impact you, otherwise, see "Updating" below.
  • Added a slow queries logger (see config for usage)

Upgrading to 1.1.0-rc1

If you have changed RESULTS_COLLECTORS_PYPATHS in your local config file, make sure to add manually fuzzy and autocomplete ones. Check the config doc for an example.


  • allow to connect to Redis through unix socket
  • fix reverse not honouring extra housenumber fields
  • fix default BATCH_WORKERS values failing on systems with only one CPU


  • Upgraded Falcon to 1.2.0
  • Fix bug when search request is empty but lat and lon are given and valid
  • Handle filters when doing a manual scan with Lua
  • Allow to configure Redis password from config


The 1.0.0 has been a big rewrite, with main features:

  • split in plugins
  • allow for external storage of documents (in SQLite, PostgreSQL, etc.)
  • use LUA scripting for performances
  • less RAM consumption
  • replaced Flask by Falcon for performances
  • housenumbers are not indexed anymore (to gain RAM), they are only matched in result postprocessing

It contains many breaking changes. Best option when possible is to restart from scratch (see the tutorial) and reindex everything.

Breaking changes

  • HOUSENUMBERS_PROCESSORS have been removed
  • config must now be loaded by from addok.config import config
  • removed DEINDEXERS, now INDEXERS must point to python classes having both index and deindex methods
  • endpoints API changed
  • by default, documents are now stored in a separate Redis database
  • the key "id" is not required anymore in the loaded data and as such has been removed from the geojson Feature root.

Minor changes

  • index multi values in filters
  • add a "reset" command to reset all data (indexes and documents)
  • added quote parameter for CSV endpoints (now in addok-csv plugin)
  • addok now tries to read config from /etc/addok/addok.conf as fallback
  • SMALL_BUCKET_LIMIT is now a setting

Also check the new FAQ section in the documentation.


  • Expose housenumber parent name in result geojson
  • add support for housenumber payload (#134)
  • Fix clean_query being too much greedy for "cs" (#125
  • also accept long for longitude
  • replace "s/s" in French preprocessing
  • fix autocomplete querystring casting to boolean
  • Always add housenumber in label candidates if set (#120)
  • make CSVView more hackable by plugins ([#116][


  • fix filters not taken into account in manual scan (#105)
  • added experimental list support for document values
  • Added MIN_EDGE_NGRAMS and MAX_EDGE_NGRAMS settings (#102)
  • documented MAKE_LABELS setting
  • Allow to pass functions as PROCESSORS, instead of path
  • remove raw housenumbers returned in result properties
  • do not consider filter if column is empty, in csv (#109)
  • allow to pass lat and lon to define columns to be used for geo preference, in csv (#110)
  • replace "s/" by "sur" in French preprocessing (#107)
  • fix server failing when document was missing importance value
  • refuse to load if ADDOK_CONFIG_MODULE is given but not found
  • allow to set ADDOK_CONFIG_MODULE with command line parameter --config
  • mention request parameters in geojson (#113)


  • fix single character wrongly glued to housenumber (#99)


  • use housenumber id as result id, when given (#38)
  • shell: warn when requested id does not exist (#75)
  • print filters in debug mode
  • added filters to CSV endpoint (#67)
  • also accept lng as parameter (#88)
  • add /get/ endpoint (#87)
  • display distance in meters (not kilometers)
  • add distance in single /reverse/┬ácall
  • workaround python badly sniffing csv file with only one column (#90)
  • add housenumber in csv results (#91)
  • CSV: renamed "result_address" to "result_label" (#92)
  • no BOM by default in UTF-8