Solr Search module


#1

Hello everyone,

I’m new on Omeka S, so I’m sorry if my questions sound silly.

I have to install a full-text search in PDFs files and I thought using the Solr and Search modules would be a good idea. I installed them but I don’t really understand how to configure Solr.

Do you know what I should write in “site fields” :

Nom : default
Nom d’hôte : localhost
Port : 8983
Chemin : solr/default
Champ ‘nom de la ressource’ : resource_name_s
Sites field : ?

Also, there is an error is the status of the node :

Nom : default
URL : localhost:8983/solr/default
Statut : Solr HTTP Error 7: ‘Couldn’t connect to server’

… I don’t know how to work this out.

Thank you for your help :slight_smile:


#2

Hi,

To use the Omeka-s Solr module, you need to launch a Solr instant on your server (or anywhere) witch will be exposed on the port 8983 by default. The Solr module is just a connector to the Solr instance.

-Fred-


#3

Hi @Fred,

Thank you for your reply.

The thing is : I don’t have access to my server, it is managed by huma-num (a shared server). You say I can run a solr instant anywhere, but how can I do that ?

My main issue is I don’t know how to create a Solr index, I simply don’t know where to write this command :
sudo su - solr -c “/opt/solr/bin/solr create -c omeka -n data_driven_schema_configs”

Could you help me ?


#4

Hi,

The Solr instance can be launch anywhere, on the same server (localhost) or where you want. In this case the only condition is that the server who run this instance should be accessible on the tcp port 8983.

I don’t explicitly said it but you have to install Solr to be able to run the instance. The more simple way is to install Solr directly on the same server. You could try to contact directly huma-num to expose your problem.

When Solr is installed and launched, you have to create the node in Solr. When it’s done, your node is usable with other applications (like omeka-s or other). The command line you wrote help you to do this. This command have to be launch on the server where Solr is installed.

If all is OK, the status of your node in the Solr Omeka-s module will be OK too. The next step is to configure the search module in Omeka-s.

-Fred-


#5

Hi @Fred thank you for your reply.

I contacted huma-num and they installed Solr instance for our website. Now, I’m having trouble creating a node. If I keep default parameters I get this error :

  • new_core: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core new_core: Error loading solr config from /sites/bibnum-sra-idf/resource/solr/data/new_core/conf/solrconfig.xml

I verified and noticed the solrconfig.xml was not in dataDir “data” but in “…/resource/solr/data/configsets/data_driven_schema_configs/conf”

Should I copy the path to the right folder in the “dataDir” box?
I am sorry if my question sounds stupid, I wouldn’t do any mistakes…

Andro


#6

Hi,

When you add a core to Solr, the directories must exist before (instanceDir and dataDir need to exist before you can create the core)

So, on the same level of the configsets directory, create your node directory.
Inside, create an empty folder for your data (named data) and copy/paste the existing conf folder (the one you mention in your post or the default one witch you could find in the configsets directory).

In the following example, my node’s name is Test3.

fred@debian-Omeka-s:~/Téléchargements/solr-7.7.0/server/solr/Test3$ tree
.
├── conf
│   ├── lang
│   │   ├── contractions_ca.txt
│   │   ├── contractions_fr.txt
│   │   ├── contractions_ga.txt
│   │   ├── contractions_it.txt
│   │   ├── hyphenations_ga.txt
│   │   ├── stemdict_nl.txt
│   │   ├── stoptags_ja.txt
│   │   ├── stopwords_ar.txt
│   │   ├── stopwords_bg.txt
│   │   ├── stopwords_ca.txt
│   │   ├── stopwords_cz.txt
│   │   ├── stopwords_da.txt
│   │   ├── stopwords_de.txt
│   │   ├── stopwords_el.txt
│   │   ├── stopwords_en.txt
│   │   ├── stopwords_es.txt
│   │   ├── stopwords_eu.txt
│   │   ├── stopwords_fa.txt
│   │   ├── stopwords_fi.txt
│   │   ├── stopwords_fr.txt
│   │   ├── stopwords_ga.txt
│   │   ├── stopwords_gl.txt
│   │   ├── stopwords_hi.txt
│   │   ├── stopwords_hu.txt
│   │   ├── stopwords_hy.txt
│   │   ├── stopwords_id.txt
│   │   ├── stopwords_it.txt
│   │   ├── stopwords_ja.txt
│   │   ├── stopwords_lv.txt
│   │   ├── stopwords_nl.txt
│   │   ├── stopwords_no.txt
│   │   ├── stopwords_pt.txt
│   │   ├── stopwords_ro.txt
│   │   ├── stopwords_ru.txt
│   │   ├── stopwords_sv.txt
│   │   ├── stopwords_th.txt
│   │   ├── stopwords_tr.txt
│   │   └── userdict_ja.txt
│   ├── managed-schema
│   ├── params.json
│   ├── protwords.txt
│   ├── solrconfig.xml
│   ├── stopwords.txt
│   └── synonyms.txt
├── core.properties
└── data
    ├── index
    │   ├── segments_1
    │   └── write.lock
    ├── snapshot_metadata
    └── tlog

The content of the data folder is populated when you create the node in the Solr admin panel.

Fred


#7

Hi, @Fred

It seemed to work, but I have an error like so :

SolrCore Initialization Failures

  • node: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Error initializing QueryElevationComponent.

Please check your logs for more information

Anyway it created the node. But I still can’t connect my module Solr to my server in Omeka S graphic backend. I don’t understand why it says : Solr HTTP Error 7: ‘Couldn’t connect to server’
and not OK … Could you help me ?


#8

On Solr 7 and 8, in some cases, the module may not work with the domain name, but only with the ip address. So that may be a second issue. For the initialization, enable Omeka logs and check them.


#9

Hello @Daniel_KM, we actually have Solr 6.6.6. Could you please tell me how to enable Omeka logs since I’m not really sure how to do this…


#10

https://omeka.org/s/docs/user-manual/errorLogging/