-
Notifications
You must be signed in to change notification settings - Fork 37
Description
Hello,
I noticed my fulltext search wasn't working anymore. I searched and found the wiki, and saw "starting from app version 26, we use the Elasticsearch client version 8.6.1". All right, but then it says : "You can find the currently used ES client version in the app dependencies". There, the version is, at the time of writing, "elasticsearch/elasticsearch": "8.8.2".
That is confusing. So I went for 8.8.2.
I tried upgrading from 7.x, but it complained about some 6.x old data. Damn. I decided to wipe it all and installed a fresh 8.8.2.
At install time it shows me the default password for the elastic user. Elasticsearch is installed locally, so I configured network.host: 127.0.0.1 in /etc/elasticsearch/elasticsearch.yml. I then start it and give it a try, but got an empty response :
# curl -i -XGET -u elastic:[redacted] 127.0.0.1:9200
curl: (52) Empty reply from server
I decided to disable authentication by setting xpack.security.enabled: false, and restarted it. I now have a response:
# curl -i -XGET 127.0.0.1:9200
HTTP/1.1 200 OK
X-elastic-product: Elasticsearch
content-type: application/json
content-length: 535
{
"name" : "[readacted]",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "[readacted]",
"version" : {
"number" : "8.8.2",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "98e1271edf932a480e4262a471281f1ee295ce6b",
"build_date" : "2023-06-26T05:16:16.196344851Z",
"build_snapshot" : false,
"lucene_version" : "9.6.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
Next I went to configure the Nextcloud app. I set to Elasticsearch and the servlet host to http://localhost:9200. But sadly it doesn't save the settings ! I opened up the console and noticed an HTTP 500 error while saving settings. In Nextcloud logs I noticed that error:
OC\\AllConfig::getSystemValueString(): Argument #2 ($default) must be of type string, bool given, called in /srv/www/nextcloud/apps.installed/fulltextsearch_elasticsearch/lib/Service/ConfigService.php on line 147 in file '/srv/www/nextcloud/lib/private/AllConfig.php' line 163
All right. Gave it a search and found this pull request. I applied this change and could then save the settings. That done, I gave it a try :
# occ fulltextsearch:test
.Testing your current setup:
Creating mocked content provider. ok
Testing mocked provider: get indexable documents. (2 items) ok
Loading search platform. (Elasticsearch) ok
Testing search platform. ok
Locking process ok
Removing test. fail
Error detected, unlocking process ok
In ConfigService.php line 125:
Your ElasticSearchPlatform is not configured properly
So, the Removing test failed, and I am now stuck there ... I need help.
NC : 27.1.1
occ app:list | grep fullt - files_fulltextsearch: 27.0.1 - files_fulltextsearch_tesseract: 27.0.0 - fulltextsearch: 27.0.2 - fulltextsearch_elasticsearch: 27.0.3