[PECL-CVS] [pecl-search_engine-solr] master: fix existing collection error
[email protected] (omars44) Thu, 25 Jun 2026 04:52:05 +0000
| Newsgroups | php.pecl.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: omars44 (omars44) Date: 2025-11-17T10:14:55+02:00 Commit: https://github.com/php/pecl-search_engine-solr/commit/f070c2ce44e5dc6bb4239302598bcc8ea5f1ffa4 Raw diff: https://github.com/php/pecl-search_engine-solr/commit/f070c2ce44e5dc6bb4239302598bcc8ea5f1ffa4.diff fix existing collection error Changed paths: M README.INSTALLATION M README.md M tests/docker/Dockerfile M tests/docker/init-solr.sh Diff: diff --git a/README.INSTALLATION b/README.INSTALLATION index 2b9d18f1..41cb5449 100644 --- a/README.INSTALLATION +++ b/README.INSTALLATION @@ -2,7 +2,7 @@ PHP VERSION Dependencies ================================================================================ -PHP version 7.0 or later is needed +PHP version 8.0 or later is needed ================================================================================ Extension Dependencies @@ -224,10 +224,8 @@ http://windows.php.net/downloads/snaps/php-5.3/php-5.3-src-latest.zip How to Report Bugs ================================================================================ -Please report bugs to [email protected] +Please report bugs to -You can also register bugs here - -http://pecl.php.net/bugs/report.php?package=solr +https://github.com/php/pecl-search_engine-solr/issues Thank you for using PHP diff --git a/README.md b/README.md index 4df7bf15..c4a9d157 100644 --- a/README.md +++ b/README.md @@ -31,15 +31,34 @@ For RHEL/Fedora/CentOS/Scientific linux Please make sure to install them before proceeding to the compilation process ```bash - phpize - ./configure - make - make test - sudo make install +phpize +./configure +make +make test +sudo make install ``` more details on README.INSTALLATION +Local Dev Environment +--------------------- + +```bash +docker-compose up -d +# OR +docker-compose up --build -d + +phpize +./configure +make + +export SOLR_SERVER_CONFIGURED=1 +php run-tests.php -q -d extension=$PWD/modules/solr.so --show-diff +# OR run a single test +php run-tests.php -q -d extension=$PWD/modules/solr.so --show-diff tests/004.solrclient_query_terms.phpt + +``` + Contributions ------------- All forms of contributions are welcome! Whether contributing to tests, or the source. diff --git a/tests/docker/Dockerfile b/tests/docker/Dockerfile index 8c967453..ad08d5fb 100644 --- a/tests/docker/Dockerfile +++ b/tests/docker/Dockerfile @@ -1,5 +1,13 @@ -FROM solr:9.10.0-slim +FROM solr:7-slim + +USER root + +RUN apt-get update && \ + apt-get install -y --no-install-recommends curl && \ + rm -rf /var/lib/apt/lists/* COPY collections /opt/solr-configs -COPY --chmod=755 init-solr.sh /docker-entrypoint-initdb.d/init-solr.sh \ No newline at end of file +COPY --chmod=755 init-solr.sh /docker-entrypoint-initdb.d/init-solr.sh + +USER solr \ No newline at end of file diff --git a/tests/docker/init-solr.sh b/tests/docker/init-solr.sh index 0f73af30..16a3a862 100644 --- a/tests/docker/init-solr.sh +++ b/tests/docker/init-solr.sh @@ -3,18 +3,32 @@ set -e echo "Starting temporary Solr server for initialization..." solr start +echo "Solr server is running." -echo "Solr server is running. Creating collections with default configs..." +create_and_index() { + COLLECTION_NAME=$1 + DATA_FILE=$2 -solr create -c collection1 -solr create -c metal_store -solr create -c myfiles + echo "Checking if collection '$COLLECTION_NAME' exists..." -echo "Collections created. Indexing data..." + if curl -s "http://localhost:8983/solr/admin/collections?action=LIST" | grep -q "\"$COLLECTION_NAME\""; then + echo "Collection '$COLLECTION_NAME' already exists. Skipping creation and indexing." + else + echo "Collection '$COLLECTION_NAME' not found. Creating..." + solr create -c "$COLLECTION_NAME" -curl 'http://localhost:8983/solr/collection1/update/json?commit=true' --data-binary @/opt/solr-configs/collection1.json -H 'Content-type:application/json' -curl 'http://localhost:8983/solr/metal_store/update/json?commit=true' --data-binary @/opt/solr-configs/metal_store.json -H 'Content-type:application/json' + if [ -n "$DATA_FILE" ] && [ -f "$DATA_FILE" ]; then + echo "Indexing data for '$COLLECTION_NAME' from $DATA_FILE..." + curl "http://localhost:8983/solr/$COLLECTION_NAME/update/json?commit=true" --data-binary @"$DATA_FILE" -H 'Content-type:application/json' + else + echo "No data file provided or found for '$COLLECTION_NAME'. Skipping indexing." + fi + fi +} -echo "Data indexed. Stopping temporary Solr server..." +create_and_index "collection1" "/opt/solr-configs/collection1.json" +create_and_index "metal_store" "/opt/solr-configs/metal_store.json" + +echo "Data initialization finished. Stopping temporary Solr server..." solr stop echo "Solr initialization complete." \ No newline at end of file