Skip to content
This repository has been archived by the owner on Aug 30, 2022. It is now read-only.

Releases: redlink-gmbh/smarti

Smarti 0.7.0-RC1

16 Feb 09:06
Compare
Choose a tag to compare
Smarti 0.7.0-RC1 Pre-release
Pre-release
smarti-0.7.0-RC1

[maven-release-plugin] copy for tag smarti-0.7.0-RC1

Smarti 0.7.0-BETA

08 Feb 13:52
Compare
Choose a tag to compare
Smarti 0.7.0-BETA Pre-release
Pre-release
smarti-0.7.0-BETA

[maven-release-plugin] copy for tag smarti-0.7.0-BETA

Smarti 0.6.1

08 Jan 12:55
Compare
Choose a tag to compare

Smarti 0.6.1 is a security feature release, that also covers several improvements to optimize Smarti’s resource consumption behavior. This is the first Smarti release, that has a Docker image as part of its distribution.

Smarti 0.6.1 is 100% compatible to chatpal-search - A Rocket.Chat package for search with chatpal backend. So Smarti can be used as cross-channel search engine for Rocket.Chat.

New in Smarti 0.6.1

From the feature perspective Smarti 0.6.1 introduces a simple user management including form based user authentication as well as token based system authentication. Users having the role ADMIN are allowed to manage clients, configurations, conversations, users and tokens. Regular Smarti users are only permitted to manage configurations and conversations of specific clients. Tokens are designed to access the Smarti API by technical systems/users.

The Smarti Admin UI allows you to:

  • manage (create, change and delete) users,
  • permit users access to specific clients,
  • generate tokens to allow technical access,

Improved in Smarti 0.6.1

  • #60 - Added a user authentication model
  • #118 - Added a Smarti Docker image
  • #142 - Added Docker image to the release deployment
  • #121 - Added highlighting for Conversation Search
  • #164 - Added a configuration option to trigger a full reindex on system startup
  • #152 - Improved Docker image memory consumption by using the JVM option MaxRAMFraction
  • #124 - Improved Docker image for running database migration scripts on startup
  • #145 - Improved cpu consumption for a configuration that allows to set the executor service pool size
  • #147 - Improved memory consumption to run Smarti with -Xmx4g
  • #101 - Improved plugin information file to be consumed by ruby scripts
  • #136 - Improved widget by using x-auth-token HTTP headers for $.ajax calls
  • #116 - Improved widget by adding a button to clear all keywords
  • #128 - Improved widget presentation by trimming labels of long keywords
  • #155 - Fixed issue where no related conversations have been displayed if no tokens have been extracted
  • #162 - Fixed issue where the conversation index runs out of synch when running Smarti on two or more instances
  • #157 - Fixed issue where no search results have been displayed if keywords containing a # (hash) were extracted
  • #128 - Fixed missing line breaks when very long keywords have been extracted e.g. URLs
  • #165 - Fixed some out dated references within the documentation

Upgrading

Stanford-NLP

For improved memory efficiency, smarti now uses Stanford-CoreNLP v3.8.0. If you added the Stanford-NLP dependencies in previous versions, you must update those libraries. Please refer to the Installation Guide for details.

Configuration

The following changes in the configuration files are recommended:

application.properties

+ nlp.stanfordnlp.de.parseModel=edu/stanford/nlp/models/srparser/germanSR.ser.gz
+ nlp.stanfordnlp.de.parseMaxlen=40

- security.password=
+ security.config.mongo.admin-password=

+ smarti.migration.mongo.script-home=/usr/share/smarti/scripts

logback.xml

- <logger name="io.redlink.nlp" level="DEBUG"/>
+ <logger name="edu.stanford" level="INFO"/>
+ <logger name="io.redlink.nlp" level="INFO"/>

Client-Configuration
Previous client-configurations for solrsearch-query-builders might require an update of their default settings: While in previous versions those parameters needed to be url-encoded, this is now happening within the component.

A migration-script is available and applied automatically on starup:

function runDatabaseMigration() {
    var clientConfig = db.getCollection('configuration');

    clientConfig
        .find({'config.queryBuilder': { $elemMatch: { type: 'solrsearch' }}})
        .forEach(function (configuration) {
            configuration.config.queryBuilder.forEach(function (builder) {
                if (builder.type !== 'solrsearch') return;

                var convertedDefaults = {};
                for (var k in builder.defaults) {
                    if (builder.defaults.hasOwnProperty(k)){
                        try {
                            convertedDefaults[k] = decodeURIComponent(builder.defaults[k]);
                        } catch (e) {
                            print('Could not uri-decode "' + k + "' of config '" + builder.name + "' for client '" + configuration.client + "'." +
                                " Keeping unmodified parameter '" + builder.defaults[k] + "'");
                            convertedDefaults[k] = builder.defaults[k];
                        }
                    }
                }
                builder.defaults = convertedDefaults;
            });

            clientConfig.save(configuration);
        });
}

Smarti 0.6.1-RC4

03 Jan 13:05
Compare
Choose a tag to compare
Smarti 0.6.1-RC4 Pre-release
Pre-release

RC-4 for Smarti 0.6.1

Smarti 0.6.1-RC3

21 Dec 07:01
Compare
Choose a tag to compare
Smarti 0.6.1-RC3 Pre-release
Pre-release

RC-3 for Smarti 0.6.1

Smarti 0.6.1-RC2

14 Dec 13:23
Compare
Choose a tag to compare
Smarti 0.6.1-RC2 Pre-release
Pre-release

RC-2 for Smarti 0.6.1

Smarti 0.6.1-RC1

07 Dec 17:01
Compare
Choose a tag to compare
Smarti 0.6.1-RC1 Pre-release
Pre-release

RC-1 for Smarti 0.6.1

Smarti 0.6.0

30 Nov 15:29
Compare
Choose a tag to compare

Smarti 0.6.0 is a search feature release. Conversations stored in Smarti can now be searched explicit, there is no need to create conversations in order to search within the knowledge base anymore. Smarti 0.6.0 enables more relevant suggestions for conversations by introducing conversation-filtering.

New in Smarti 0.6.0

This release introduces a brand new search API that allows:

  • explicit full text search over all the stored conversations,
  • filtering related conversations based on meta data such as classifications or topics,
  • paging over suggestions, that can be configured.

Improved in Smarti 0.6.0

  • #62 - Added conversation independent search API
  • #127 - Added automatic database migration
  • #140 - Added AWS CloudWatch as possible log-destination
  • #87 - Improved suggestions by filtering the related conversations by topics/expertise
  • #39 - Improved suggestions by enabling paging and making the number of suggestion configurable
  • #91 - Improved component configuration for more flexible label configuration
  • #94 - Improved authentication rules
  • #64 - Improved documentation by auto-generating the 'swagger.json' at build time
  • #90 - Fixed issue where document icons were not displayed correctly
  • #104 - Fixed issue the generated swagger-file has a broken schema
  • #115 - Fixed typo in rocket.chat integration
  • #144 - Fixed presentation empty results in the widget

Upgrading

redlink-nlp has been upgraded to use StanfordNLP v3.8. Please upgrade your locally installed libraries of stanford core-nlp.

Configuration

Starting with 0.6.0 recommended conversations (conversationmlt and conversationsearch) can be restricted to the same support_area. To enable this feature, update the configuration to contain the following settings:

{
  "filter": [
    "support_area"
  ]
}

Database

With 0.6.0, the datamodel has changed so data from older installations must be migrated to the new model.

A migration script is available. When using the installation packages, the migration will happen automatically on the first startup. Alternatively, the following script must be applied manually:

function runDatabaseMigration() {
    var conversations = db.getCollection('conversations');

    // migrate channel_id and support_area to meta.properties (#87, #99)
    conversations
        .find({
            'meta.properties': {$exists: false}
        })
        .forEach(function (c) {
            var metaProps = {};
            if (c.meta && c.meta.tags) {
                metaProps.tags = c.meta.tags;
            }
            if (c.context && c.context.environment) {
                if (c.context.environment.channel_id) {
                    metaProps.channel_id = [c.context.environment.channel_id];
                }
                if (c.context.environment.support_area) {
                    metaProps.support_area = [c.context.environment.support_area];
                }
            }

            conversations.update({
                _id: c._id
            }, {
                $set: {
                    'meta.properties': metaProps
                },
                $unset: {
                    'meta.tags': true
                }
            });
        });

    return 'success';
}

Smarti 0.6.0-RC7

16 Nov 15:13
Compare
Choose a tag to compare
Smarti 0.6.0-RC7 Pre-release
Pre-release

RC7 for Smarti 0.6.0

Smarti 0.6.0-RC6

16 Nov 11:24
Compare
Choose a tag to compare
Smarti 0.6.0-RC6 Pre-release
Pre-release

RC6 for Smarti 0.6.0