Добавить поле в Solr при работе в Docker? - PullRequest
0 голосов
/ 12 марта 2020

Я запускаю Solr в Docker. Мне нужно добавить несколько пользовательских полей в схему. Обычно это делается командой, подобной этой:

curl -X POST -H 'Content-type:application/json' --data-binary '{
  "add-field":{
     "name":"shelf",
     "type":"myNewTxtField",
     "stored":true },
  "add-field":{
     "name":"location",
     "type":"myNewTxtField",
     "stored":true },
  "add-copy-field":{
     "source":"shelf",
      "dest":[ "location", "catchall" ]}
}' http://localhost:8983/solr/gettingstarted/schema

, но я переместил свой Solr в контейнер Docker и не знаю, как сделать то же самое в docker -compose .yml.

My docker -compose.yml запускает Solr с помощью следующей команды:

solr:
    image: "solr:7.3.1"
...
command: 'bash -e -c "
        precreate-core mycore;
        cp -r /opt/solr/server/solr/configsets/_default /opt/solr/server/solr/configsets/mycore;
        cp /tmp/myconf/solr-mapping.xml /opt/solr/server/solr/configsets/mycore/conf/;
        rm /opt/solr/server/solr/configsets/mycore/conf/managed-schema;
        solr-foreground;
      "'

Любое предложение, как это сделать, будет оценено!

1 Ответ

0 голосов
/ 13 марта 2020

Хорошо, я понял, как это сделать.

Я создал схему. xml из схемы по умолчанию И добавил в нее поле. Затем я скопировал этот файл в контейнер, и в команде я скопировал мою схему. xml в папку conf моего ядра.

Вот и все.

...