Skip to content

Issues upgrading/setting up #317

@loxK

Description

@loxK

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions