diff --git a/hoot-core/src/main/cpp/hoot/core/algorithms/extractors/AddressScoreExtractor.h b/hoot-core/src/main/cpp/hoot/core/algorithms/extractors/AddressScoreExtractor.h
index 87f3b37..648dd44 100644
--- a/hoot-core/src/main/cpp/hoot/core/algorithms/extractors/AddressScoreExtractor.h
+++ b/hoot-core/src/main/cpp/hoot/core/algorithms/extractors/AddressScoreExtractor.h
@@ -34,6 +34,9 @@
#include <hoot/core/algorithms/string/ExactStringDistance.h>
#include <hoot/core/conflate/address/AddressParser.h>
+// Qt
+#include <QCache>
+
namespace hoot
{
@@ -90,14 +93,17 @@ private:
friend class AddressScoreExtractorTest;
+ const OsmMap* _map;
+
mutable long _addressesProcessed;
mutable bool _matchAttemptMade;
AddressParser _addressParser;
- static QHash<ElementId, QList<Address>> _addressesCache;
+ static QCache<ElementId, QList<Address>> _addressesCache;
static int _addressCacheHits;
bool _cacheEnabled;
+ static const int CACHE_SIZE_DEFAULT = 10000;
/*
* Searches for an address on element. Will look also look for address way nodes and address