Changelog
Version 2
- Version 2.3.3
- Fix potential NPE for cluster without masterQuery (e.g. only redirect) 
 
- Version 2.3.2
- Update preDict library (to 1.1.2) 
- Ensure compatibility with smartSuggest (v1.4.2) 
 
- Version 2.3.1
- Fixing micrometer version conflict 
- Migrate authentication to spring recommendation 
 
- Version 2.3.0
- Expose ‘resultModifications’ coming from NeuralInfusion(R) 
- Add extended integration with SearchCollector sessionId to support better query-testing 
- Add improved support for timed redirects 
- Removed compatibilty to Java 8 
- unify dependencies with smartSuggest module 
 
- Version 2.2.0
- Cache fuzzy mapping results (generated by preDict)
- use bloom filter to skip known unmappable queries 
- Use small LRU cache for matching mappings 
- Expose Caching metrics 
- Make cache & filter parameters configurable 
 
 
 
- Version 2.1.2
- Update vulnerable feign to fixed version 13.2.1 
- OCS Plugin: update OCS SPI version 
- Update to predict 1.0.8 w/o unnecessary dependencies 
 
- Version 2.1.1
- A single fuzzy match is not used as master-query mapping anymore, instead just as a potential correction 
- Version 2.1.0
- Expose Api2.1 features: resultModifications + relatedQueries 
- Version 2.0.5
- Update fuzzy-mapping library preDICT 
- Version 2.0.4
- Improve fuzzy-mapping (more normalization to get rid of unwanted effects) 
- Version 2.0.3
- Don’t return the user query as part of the potentialCorrections 
- Version 2.0.x
- Update internal API to version 2 (new data exchange format) 
- Use Minimal-Perfect-Hash Map implementation to reduce memory-footprint 
- Add fuzzy lookup of queries that can’t be mapped directly 
- Add potentialCorrections in response in case of ambiguous corrections (usable for “did you mean” feedback) 
 
Version 1
- Version 1.3.1
- Fix NPE for invalid queries 
- Version 1.3.0
- Add isSameIntend to QueryMapper 
- Improve java-doc for mapQuery 
- Fix potential NPE 
- ocs-smartquery-plugin: Add support for redirect response 
 
- Version 1.2.12
- spring-boot update 
- Improve documentation around the changes of spring-boot 
 
- Version 1.2.11
- Improve precision around ‘FingerprintQueryMapper’ (a minimal fuzzy mapper) 
- Fix error in unicode handling 
 
- Version 1.2.10
- Update to spring-boot 2 
- Build docker image for smartQuery service with custom base-image 
- Track smartQuery app type (part of mapping stats) 
 
- Version 1.2.9
- Internal DevOps fixes 
- Version 1.2.8
- Update dependencies 
- Improve documentation 
 
- Version 1.2.7
- Update stats-collector to 1.3 
- Version 1.2.6
- Fix dependency problem with stats-collector 
- Version 1.2.5
- Update internal API to 1.6 
- Version 1.2.4
- Update internal API to 1.5 
- Version 1.2.3
- Updated internal API to 1.4 
- Version 1.2.2
- Fix: QueryMapper keeps data even if no updates are possible anymore (Since version 1.1 it could happen, that if data update failed, smartQuery stopped doing the mappings) 
- Version 1.2.1
- Update to latest searchHub API with extended data models 
 
- Version 1.2
- Add OCS smartQuery Plugin 
- Update to stats-collector 1.2 (update to latest searchHub API version) fixing dependency divergence 
 
- Version 1.1
- Add data modification time to tracked mappings 
- Add update reschedule limiter, that decreases update rate for failing updates 
- Add validation of data modification time, fixing potential update failures that cause old data not being replaced 
- Improve concurrency safety 
- Improve logging (also for all kind of uncaught critical errors) 
- Improve documentation 
 
- Version 1.0.14
- Improve mapping by doing minimal normalization on user input step by step - The impact is a higher mapping rate: User-Input with multiple spaces or other useless characters were not mapped before, even if there practically was a mapping for it 
- Version 1.0.13
- Optimized dependencies of smartQuery-service, to reduce deployment size 
- Version 1.0.12
- Update to stats-collector 1.1.1: 
- Use OKHttp to make proxy communication possible through feign 
- Fix usage of optional micrometer dependency 
 
- Version 1.0.11
- Fix IndexOutOfBoundsException at bypass-query handling 
- Version 1.0.10
- Add QueryMapping.getMasterQuery() method in case old logic should stay the same 
- Version 1.0.9
- Fix scheme parsing at configured http proxy 
- Version 1.0.8
- Add logging for activated http proxy 
- Version 1.0.7
- Fix port-parsing of http proxy variable 
- Version 1.0.6
- Add option for http proxy for searchHub API Access - smartQuery can be used in a secured network to go trough the http-proxy when fetching searchHub data. 
- Version 1.0.5
- Update stats collector 
- Version 1.0.4
- Log critical errors (java.lang.Error) that were hidden by background update thread - Customer admins can know see in the logs, if smartQuery runs into memory issues during data update. 
- Improve rescheduling of broken update task 
- Add timeout to update task 
 
- Version 1.0.3
- Add documentation for QueryAssessment.isOnlyWordReorder: - This method tells the implementor, if the query was essentially changed or not. It can be used to decide when to show the ‘query correction feedback’ 
- Version 1.0.2
- Security Updates
- Update OpenFeign from 9.5.0 to 10.8 
- Update SLF4j from 1.7.26 to 1.7.30 
- Update Lombok from 1.18.6 to 1.18.12 
- Update Micrometer from 1.1.4 to 1.3.5 
 
 
- Version 1.0.1
- Update to fixed stats-collector (wrong data serialization) 
- Version 1.0
- Add support for redirect feature 
- Fingerprint mapper picks best master if more than one is matching 
- Track smartQuery version and Java version as user-agent with stats-collector 
 
Version 0
- Version 0.11.8
- Fix missing tracking of bypassed queries: We get the information about when smartQuery was bypassed, e.g. when a query-correction was reverted 
- Version 0.11.7
- Add Utility method QueryAssessment.isOnlyWordReorder that can be used to avoid displaying ‘search your query instead’ message 
- Version 0.11.6
- Fix potential mapping update flooding due to broken updater 
- Version 0.11.5
- Fix prometheus endpoint must not be secured 
- Version 0.11.4
- Add CORS support, allow all origins 
- Version 0.11.3
- Stop smartQuery service if still running from previous job 
- Add potential NPE in MappingUpdater metrics 
- Always log if there are new mapping data 
 
- Version 0.11.2
- Optional basic auth security to smartQuery service 
- Fix missing artifacts to build docker image 
 
- Version 0.11.1
- Reworked Fingerprints to be more precise and avoid conflicts 
- In case of Fingerprint conflict, according mappings are dropped 
- queries are normalized before searching for mappings 
 
- Version 0.11.0
- Added optional monitoring SPI 
- bypass-query: User queries that are quoted (start and end with a quote char “), won’t be mapped 
- Improved QueryMapperManagerBuilder to support preloading tenants 
- Added prometheus endpoint to smartQuery-service that uses the monitoring SPI 
- Added configuration support to smartQuery-service. All options that are available at the QueryMapperManagerBuilder can be configured using application.properties and/or startup parameters 
 
- Version 0.10.7
- Deprecated: Instead using QueryMapperManager setters, use the QueryMapperManagerBuilder to construct a QueryMapperManager instance 
- smartQuery-service uses SQ_INIT_TENANTS env-var to init tenant data on startup 
- QueryMapperManagerBuilder for better QueryMapperManager instance construction 
- Add mappingThreshold and mappingThresholdPerTenant options 
- Stop updates in case of more then 5 consecutive failures. Restart update task, if further used 
- Improve error handling at background update task 
 
- Version 0.10.6
- Add default settings for smartQuery-service 
- Renamed “service” into “smartQuery-service” 
 
- Version 0.10.5
- smartQuery as http service, packaged as docker container 
- Version 0.10.4
- Use tenant specific locale for internal mapper operations 
- Use UTF as API response encoding, instead system default encoding 
 
- Version 0.10.3
- Remove dependency to guava and commons-lang libraries. Implement required functionality directly 
- Version 0.10.2
- “noop” channel: It’s possible to create a QueryMapper for a tenant with the channel “noop”, that however will never be updated. Stat logs will be collected however. 
- Version 0.10.0
- Deprecated: Usage of disableResponseValidation flag is discouraged, since this was only introduced to work around an encoding bug 
- Experimental class QueryMapperManagerFactory to add support for environments without lifecycle management 
- Add stats-collector that sends information about applied mappings to import.searchhub.io 
- Use a ThreadFactory that creates daemon threads for the ScheduledExecutorService. This way a shutdown is not prevented by these threads in case the QueryMapperManager isn’t closed by the application. 
 
- Version 0.9.7
- Use UTF8 instead system encoding to verify response at ResponseValidator 
- Version 0.9.6
- Add disableResponseValidation flag in case response validation fails for unknown reason (Workaround) 
- Add more java-doc 
- Updater stops in case request is returned as unauthenticated