Smart Filters Showing as Empty#

If Smart Filters cannot be trained on a Squirro installation, this may be due to the Squirro storage and cluster nodes having been installed in the wrong order.

Symptoms#

You create new Smart Filters with some training. Yet, no features are learned, and the Fingerprint tab on the advanced settings remains empty.

In the log file /var/log/squirro/fingerprint/fingerprint.log you may see the following error message:

WARNING  unable to analyze text u'…' for language u'en': IndexOperationError(400, … u'reason': u'failed to find analyzer [en]'}})


Solution#

To solve this, two Elasticsearch indices have to be re-created: squirro_v7 and squirro_v7_fp.

Run the following commands for both indices. All of these commands are executed on a storage node.

1. Verify, that the index has a problem:

$curl -XGET localhost:9200/{INDEX_NAME}/_settings?pretty=json { "squirro_v7_fp" : { "settings" : { "index" : { "creation_date" : "1485956094617", "number_of_shards" : "3", "number_of_replicas" : "0", "uuid" : "DAMCDUeBTGKgEUEK1Mx9fQ", "version" : { "created" : "2020099" } } } } }  In this example, you get a relatively short output. This indicates, that the configuration is incomplete. If you get a much larger output from this command, your index is most likely fine. 2. If the previous command confirmed, that there is an issue, then run the following two commands: $ curl -XDELETE localhost:9200/{INDEX_NAME}
\$ curl -XPUT localhost:9200/{INDEX_NAME}