Giter Club home page Giter Club logo

solr's People

Contributors

csandanov avatar pprishchepa avatar wodbot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

solr's Issues

Cannot mount volumes

Hi,

I'm trying to mount some volumes to provide custom configsets and predefined cores.
The problem is that docker-compose mounts volumes as uid 1000 what works well in your php containers but not in this one because the solr user uid is 8983.
I can't find any way to force docker-compose to use another uid while mouting the volume.

Thanks a lot!

Search API Solr 8.x-3.0 released

As Search API Solr 3.x now has a stable release version, would it be possible to get a corresponding config set added? Thanks!

search_api_solr:4.2.1 needs new config

SOLR_CONFIG_SET="search_api_solr_4.1.6"
SOLR_TAG=8-4.13.0

Running search_api_solr:4.2.1 results in

You are using outdated Solr configuration set. Please follow the instructions described in the README.md file for setting up Solr.

`init_solr` should use authentication when creating default core and collection

I'm trying to hook this solr-container up to a Drupal-instance, using https://github.com/wodby/docker4drupal.
I followed the steps outlined at https://wodby.com/docs/1.0/stacks/drupal/local/#solr-search-api, where it mentions:

Access Solr container via make shell solr and run make init -f /usr/local/bin/actions.mk. This will enable authentication for Solr Cloud mode and create a collection named default that will use _default config set.

However, the collection is never created: when I access the solr admin panel, I see no cores and no collections, and communication with Solr SearchAPI in Drupal cannot be established.

I believe this is due to the fact that init_solr first sets up a new authentication with user:pass, and then goes on to call the solr-API via curl without user:pass:

solr/bin/init_solr

Lines 13 to 24 in 02379f8

if [[ -n "${SOLR_CLOUD_PASSWORD}" ]]; then
sleep 5
make update-password host="${host}" username=solr password=SolrRocks new_password="${SOLR_CLOUD_PASSWORD}" \
-f /usr/local/bin/actions.mk
fi
# Create default collection if there are no collections.
if curl -s "http://${host}:8983/solr/admin/collections?action=LIST" | grep -q '"collections":\[\]'; then
echo "No collections found, creating a default collection"
IFS=',' read -ra num_shards <<< "$ZK_HOST"
make create-collection collection="default" host="${host}" num_shards="${#num_shards[@]}" config="_default" \
-f /usr/local/bin/actions.mk
fi

When I run make init -f /usr/local/bin/actions.mk in the solr-container, then execute the curl-call for listing collections manually, I get this:

/opt/solr/server/solr $ curl -s "http://solr:8983/solr/admin/collections?action=LIST"
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 401 require authentication</title>
</head>
<body><h2>HTTP ERROR 401 require authentication</h2>
<table>
<tr><th>URI:</th><td>/solr/admin/collections</td></tr>
<tr><th>STATUS:</th><td>401</td></tr>
<tr><th>MESSAGE:</th><td>require authentication</td></tr>
<tr><th>SERVLET:</th><td>default</td></tr>
</table>

</body>
</html>

I believe the call that sets up authentication should either be made after creating cores/collections, or the respective curl-calls should be provided the newly created credentials.

define instanceDir on make create

Currently it is not possible to set the instanceDir when creating a new core:

docker-compose exec solr make core=MYNEWCORE -f /usr/local/bin/actions.mk

I would like to be able to do the following

docker-compose exec solr make core=MYNEWCORE instanceDir=/opt/solr/server/solr/mycores -f /usr/local/bin/actions.mk

I guess this would have to be a change in the 'actions.mk' script?

Bring in new Drupal jump-start configsets

This issue outlines a parallel, automated configset generation and packaging process for the Drupal module. Through this new process, sensible-default english-language config sets are generated with the explicit goal of making cloud-native/Dockerized workflows faster and easier, while also expanding support for hosted Solr.

The download script currently rejects any version which ships only templates. This could be changed to bring in the jumpstart configsets.

Additionally, the download script does not currently recognize semantic versioning in recognizing releases; this line could/should be changed to use the "current" and "7.x" compatibility tags from the Drupal updates API to capture both 7.x and 8.x.

Error loading class 'solr.extraction.ExtractingRequestHandler'

When attempting to index file attachments using the Drupal module 'search_api_attachments', it was discovered that the following error is being thrown inside the solr container:

Error loading class 'solr.extraction.ExtractingRequestHandler'

I believe this is caused by the path to apache-solr-cell-\d.*.jar or /extraction/lib being incorrect in the solrconfig.xml

Error bringing up container with environment variable

I'm trying to run this container but am unable to get it started

docker run --name solr -d -p 8983:8983 -t wodby/solr:5.5 -e "SOLR_DEFAULT_CONFIG_SET=search_api_solr_7.x-1.9"

I get the error
ERROR: Unsupported example SOLR_DEFAULT_CONFIG_SET=search_api_solr_7.x-1.9! Please choose one of: cloud, dih, schemaless, or techproducts

What am I doing wrong here?

Define the exact Solr version to use

I'm currently using docker4drupal with Solr, which works great, thanks for it!
I've been trying to find the right SOLR_TAG value to get Solr 6.6.1 with my docker-compose.yml file.

This is what I was able to find out:
SOLR_TAG=6-4.1.2 gets Solr 6.6.6
SOLR_TAG=6-2.3.0 gets Solr 6.6.2
SOLR_TAG=6.6-2.2.0 gets Solr 6.6.0

Is there a SOLR_TAG I can use to get Solr 6.6.1?
Or (better) can I define somewhere the SOLR_VER value so that I can get Solr in the version 6.6.1?

Thanks a lot for your support!

Does this image support search_api_solr 7.x-1.15

Hi,

Thanks so much for this great image. I am working on a Drupal 7 site and see that this supports search_api_solr 7.x-1.14 but was wondering if i could use search_api_solr 7.x-1.15. Thanks.

Core from config set not created

Hi,

The Solr container doesn't create the default core from Search API Solr config set as described in the README.md file.

I've got the solr service setup in this way:

image: wodby/solr:$SOLR_TAG
container_name: "${PROJECT_NAME}_solr"
environment:
  SOLR_DEFAULT_CONFIG_SET: $SOLR_CONFIG_SET
  SOLR_HEAP: 1024m

Where in my .env file $SOLR_TAG is 7-4.7.4 and $SOLR_CONFIG_SET is search_api_solr_4.1.6.

The Solr instance is up and running, I can connect to it but there are no cores. Also opening a console into the container and ls /opt/solr/server/solr/configsets lists all search_api_solr config sets one would expect.

I had to manually fire in the browser http://solr.myproject-docker-host:8000/solr/admin/cores?action=CREATE&name=default&configSet=search_api_solr_4.1.6&instanceDir=default in order for the core to be created.

The right way to edit conf

I would like to add some new conf to solr configuration (spellcheck and "partial string search").
How should I provide these configurations?

Typo in documentation

Hi,

Thanks for adding Zookeeper support! Can you please update the documentation about the environment variables with ZK_HOST instead of ZK_HOSTS?

Automatically created SOLR core with docker-compose.yml

Hi,

I had a question about Solr and the core setup. All works well when we use the Wodby control panel to set up Varnish and it auto creates a core called 'default' which is great.

The issue we're having is on our local deployments which we're trying to automate. We can create the container for Solr using wodby/solr with no issues using a docker-compose.yml file, however, I've reached a road block with trying to automate the core creation. I’ve tried a variation of things for quite some time with this so far and no luck. If we login with a shell and run

'make create core=default -f /usr/local/bin/actions.mk'

then it works, but we ideally need this to happen when the container is built rather than manually doing it and I can't seem to get this into the docker-compose.yml which we use.

I've seen that Wodby Solr needs to spin up with entrypoint.sh, followed by command solr-foreground. If I try to make the core before solr-foreground fails as solr needs to be running.

One of the main ways I’ve tried to work around this is by adding in my docker-compose.yml;

command: bash -c “solr-foreground && make create core=default -f /usr/local/bin/actions.mk”

This should work but the 'make create' command is ignored. I think this is because 'solr-foreground' runs solr-fg “$@” in the script. I'm thinking that as it’s expecting arguments it ignores anything else I put afterwards including the '&& make create..' command as it's reading it as an argument. I’ve tested this by attempting to create a file instead of running the make create. Trying to create the file before I run the solr-foreground.sh works.

Everything I’ve read elsewhere says to use a command usefully called ‘precreate-core’ beforehand, but it’s directory is hardcoded set to create the file in /var/solr/data, however, your version uses /opt/solr/server/solr. It does note in the make action.mk file that "We don't use solr CLI because it does not create configs out of config set", which I'm wondering this is the reason.

The closest I’ve got to things working is;

command: bash -c "precreate-core default; solr-foreground -s /var/solr/data"

This does creates the core and seems to link it up correctly, but using the above gives me an error using the normal search on the site SOLR on my local.

Do you know any way that I can get the core automatically created as part of the container build using a docker-compose.yml file? I'm hoping that as you've found a way for your Wodby control panel to automate building the core, that you may just know a command I could try in there that we could use.

Thanks in advance,
Tim

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.