Version 2.0.0 of CLAVIN includes some restructuring of the API, adds some new functionality, and offers some minor performance-enhancing tweaks to the core resolution algorithm. This list details most of the major and minor changes made in CLAVIN v2.0.0:
- Changed API for location resolver to be simpler & easier to use
- ClavinLocationResolver is now the primary class for resolving location names
- LocationResolver interface and LuceneLocationResolver class are now deprecated
- New API enabling direct queries of CLAVIN’s internal gazetteer index
- Enables quick lookup of details for known locations in gazetteer; see package clavin.gazetteer.query for details
- New IndexDirectory structure supporting the following:
- Hierarchical “ancestry” of GeoName records (i.e., city –> province –> country)
- Using common/short place names from the GeoNames.org alternate names file; see clavin/index/IndexDirectoryBuilder.java for details
- New MultipartLocationResolver for resolving location names in structured data
- Designed to handle multipart location names, such as those often seen in spreadsheets or databases (e.g., `[Reston][Virginia][United States]`); see package clavin.resolver.multipart for details
- Fixed subtle bug in core resolution algorithm that mistakenly treated admin1 codes from different countries as the same thing (doh!)
- Boosted cities & countries in core resolution algorithm, since these are the things mentioned most often in text. For example, this helps Washington DC win over Washington State, and the city of Cairo win over Cairo Governorate
These changes, especially the algorithmic modifications, have yielded a modest — *yet noticeable and welcome* — improvement to resolution accuracy. For convenience, binaries are also distributed via the Maven Central Repository.
Please sign-up for our two new mailing lists on Google Groups:
clavin-users is for discussions about how to use CLAVIN. If you’ve got a question about getting CLAVIN up & running, this is the place to ask it.
clavin-developers is for discussions about active software development efforts for CLAVIN. If you’ve got a question about how to implement a new feature for CLAVIN, this is the place to ask it.