From 9f53cf06f5d139f6c4c04d8adfb71afd09d568ef Mon Sep 17 00:00:00 2001 From: libops-agent <115990865+libops-agent@users.noreply.github.com> Date: Sat, 8 Aug 2026 11:55:52 +0000 Subject: [PATCH 1/5] [minor] Gate Drupal templates on strict verification --- .github/workflows/sitectl-create-smoke-test.yaml | 3 +++ Makefile | 2 +- README.md | 1 + scripts/test.sh | 8 +++++--- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/sitectl-create-smoke-test.yaml b/.github/workflows/sitectl-create-smoke-test.yaml index c33035e..cc51922 100644 --- a/.github/workflows/sitectl-create-smoke-test.yaml +++ b/.github/workflows/sitectl-create-smoke-test.yaml @@ -27,3 +27,6 @@ jobs: create-definition: ${{ matrix.create_definition }} create-args: ${{ matrix.create_args }} packages: sitectl sitectl-drupal + package-versions: sitectl=1.6.3 sitectl-drupal=1.2.0 + allow-unversioned-packages: false + run-verify: true diff --git a/Makefile b/Makefile index 72c25e6..82afcbd 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ clean: ## Delete generated local state after confirmation healthcheck: ## Check Compose and application health sitectl healthcheck -test: ## Run custom Drupal tests +test: ## Verify the running application and run custom Drupal tests when present ./scripts/test.sh lint: ## Lint custom Drupal code diff --git a/README.md b/README.md index dd06a09..69acaf6 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ Check the site and context configuration with [`sitectl healthcheck`](https://si ```bash sitectl healthcheck +sitectl verify --strict sitectl validate ``` diff --git a/scripts/test.sh b/scripts/test.sh index f383e8d..28710a8 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -7,7 +7,9 @@ docker compose run --rm -e HOST_UID="$(id -u)" -e HOST_GID="$(id -g)" init service="${DRUPAL_SERVICE:-drupal}" custom_dir="${DRUPAL_CUSTOM_DIR:-web/modules/custom}" -docker compose up --remove-orphans -d "${service}" +docker compose up --remove-orphans --wait --wait-timeout "${COMPOSE_WAIT_TIMEOUT:-900}" -d +sitectl healthcheck --persist --timeout "${SITECTL_HEALTHCHECK_TIMEOUT:-10m}" +sitectl verify --strict docker compose exec -T \ -e CUSTOM_DIR="${custom_dir}" \ @@ -16,12 +18,12 @@ docker compose exec -T \ set -euo pipefail if [ ! -d "${CUSTOM_DIR}" ]; then - echo "No custom Drupal module directory found at ${CUSTOM_DIR}; skipping Drupal unit tests." + echo "No custom Drupal module directory found at ${CUSTOM_DIR}; baseline application assertions passed." exit 0 fi if ! find "${CUSTOM_DIR}" -type f \( -path "*/tests/src/*" -o -name "*Test.php" \) | grep -q .; then - echo "No custom Drupal tests found under ${CUSTOM_DIR}; skipping Drupal unit tests." + echo "No custom Drupal tests found under ${CUSTOM_DIR}; baseline application assertions passed." exit 0 fi From ef9bb1abe6d01138ed905196548173f7b141d367 Mon Sep 17 00:00:00 2001 From: Joe Corall Date: Sat, 8 Aug 2026 13:46:26 +0000 Subject: [PATCH 2/5] [patch] Preserve Search API Solr dependencies --- .../sync/search_api_solr.solr_field_type.text_en_6_0_0.yml | 7 ++++++- .../sync/search_api_solr.solr_field_type.text_en_7_0_0.yml | 7 ++++++- .../search_api_solr.solr_field_type.text_und_6_0_0.yml | 4 +++- .../search_api_solr.solr_field_type.text_und_7_0_0.yml | 4 +++- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml index a54b482..aa3c2c8 100644 --- a/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml @@ -1,7 +1,12 @@ uuid: 466ca6d3-5fa2-47d6-99de-6d755e9b5d96 langcode: en status: true -dependencies: { } +dependencies: + module: + - search_api_solr + - language + config: + - language.entity.en _core: default_config_hash: pDIZ-zsEPr9jAefL7y-ZPIhLi1GH6OKDZz4f54DVIqc id: text_en_6_0_0 diff --git a/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml index dbf0b0e..461355c 100644 --- a/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml @@ -1,7 +1,12 @@ uuid: b533adec-8ead-4ae8-844c-60c09f9a5a0b langcode: en status: true -dependencies: { } +dependencies: + module: + - search_api_solr + - language + config: + - language.entity.en _core: default_config_hash: z_jqUIqG9ENXs1o8fMzrcbkK3AItFHpxsWlM4o5IHoU id: text_en_7_0_0 diff --git a/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml index 01b7d45..2c1a168 100644 --- a/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml @@ -1,7 +1,9 @@ uuid: 5470dc4f-5604-468b-b607-1f1d9a4c42e0 langcode: en status: true -dependencies: { } +dependencies: + module: + - search_api_solr _core: default_config_hash: DqdOvMuIzXMCDoocc05x8_YyJnzHUHBD1azcdZv1upo id: text_und_6_0_0 diff --git a/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml index bb653b5..8f30a39 100644 --- a/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml @@ -1,7 +1,9 @@ uuid: 99c039e7-7e42-4a85-8e32-615a33275137 langcode: en status: true -dependencies: { } +dependencies: + module: + - search_api_solr _core: default_config_hash: dCoH-qdMIgVbYTYsOxAhebwOAMS76eSlZ8WT4ActioI id: text_und_7_0_0 From 05b81ca1a8735d285aafd411df6a72d7395185a4 Mon Sep 17 00:00:00 2001 From: Joe Corall Date: Sat, 8 Aug 2026 14:02:00 +0000 Subject: [PATCH 3/5] [patch] Match installed Solr field type schema --- config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml | 2 -- config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml | 2 -- config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml | 3 --- config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml | 3 --- 4 files changed, 10 deletions(-) diff --git a/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml index aa3c2c8..01c5d0b 100644 --- a/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml @@ -169,7 +169,6 @@ unstemmed_field_type: class: solr.LowerCaseFilterFactory - class: solr.RemoveDuplicatesTokenFilterFactory -spellcheck_field_type: null collated_field_type: name: collated_en class: solr.ICUCollationField @@ -17771,7 +17770,6 @@ text_files: zoogleas, zoogloeas zygenid, zygaenid protwords: | - accents: | # À => A "\u00C0" => "A" diff --git a/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml index 461355c..89f7030 100644 --- a/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml @@ -169,7 +169,6 @@ unstemmed_field_type: class: solr.LowerCaseFilterFactory - class: solr.RemoveDuplicatesTokenFilterFactory -spellcheck_field_type: null collated_field_type: name: collated_en class: solr.ICUCollationField @@ -17771,7 +17770,6 @@ text_files: zoogleas, zoogloeas zygenid, zygaenid protwords: | - accents: | # À => A "\u00C0" => "A" diff --git a/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml index 2c1a168..d5efb29 100644 --- a/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml @@ -85,7 +85,6 @@ field_type: class: solr.LowerCaseFilterFactory - class: solr.RemoveDuplicatesTokenFilterFactory -unstemmed_field_type: null spellcheck_field_type: name: text_spell_und class: solr.TextField @@ -194,11 +193,9 @@ solr_configs: VALUE: 'false' text_files: stopwords: | - synonyms: | drupal, durpal protwords: | - accents: | # À => A "\u00C0" => "A" diff --git a/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml index 8f30a39..be8b82c 100644 --- a/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml @@ -87,7 +87,6 @@ field_type: class: solr.LowerCaseFilterFactory - class: solr.RemoveDuplicatesTokenFilterFactory -unstemmed_field_type: null spellcheck_field_type: name: text_spell_und class: solr.TextField @@ -196,11 +195,9 @@ solr_configs: VALUE: 'false' text_files: stopwords: | - synonyms: | drupal, durpal protwords: | - accents: | # À => A "\u00C0" => "A" From 703ba9509fb1dd7654c2a3fc38c9a796c6eb1fd4 Mon Sep 17 00:00:00 2001 From: Joe Corall Date: Sat, 8 Aug 2026 14:05:13 +0000 Subject: [PATCH 4/5] [patch] Exercise coordinated Drupal plugin --- .github/workflows/sitectl-create-smoke-test.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sitectl-create-smoke-test.yaml b/.github/workflows/sitectl-create-smoke-test.yaml index cc51922..a2b2e3a 100644 --- a/.github/workflows/sitectl-create-smoke-test.yaml +++ b/.github/workflows/sitectl-create-smoke-test.yaml @@ -26,7 +26,10 @@ jobs: plugin: drupal create-definition: ${{ matrix.create_definition }} create-args: ${{ matrix.create_args }} - packages: sitectl sitectl-drupal - package-versions: sitectl=1.6.3 sitectl-drupal=1.2.0 + local-plugin-path: sitectl-drupal + local-plugin-repository: libops/sitectl-drupal + local-plugin-ref: priority-review-remediation + packages: sitectl + package-versions: sitectl=1.8.1 allow-unversioned-packages: false run-verify: true From 1ab5abb462ecd0e1d5412de378b62e4db1bdc286 Mon Sep 17 00:00:00 2001 From: Joe Corall Date: Sat, 8 Aug 2026 15:24:09 +0000 Subject: [PATCH 5/5] [patch] Normalize Drupal Solr configuration --- ...api_solr.solr_field_type.text_en_6_0_0.yml | 387 +++++++++--------- ...api_solr.solr_field_type.text_en_7_0_0.yml | 387 +++++++++--------- ...pi_solr.solr_field_type.text_und_6_0_0.yml | 7 +- ...pi_solr.solr_field_type.text_und_7_0_0.yml | 7 +- 4 files changed, 396 insertions(+), 392 deletions(-) diff --git a/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml index 01c5d0b..506b3c8 100644 --- a/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_en_6_0_0.yml @@ -2,11 +2,11 @@ uuid: 466ca6d3-5fa2-47d6-99de-6d755e9b5d96 langcode: en status: true dependencies: + config: + - language.entity.en module: - search_api_solr - language - config: - - language.entity.en _core: default_config_hash: pDIZ-zsEPr9jAefL7y-ZPIhLi1GH6OKDZz4f54DVIqc id: text_en_6_0_0 @@ -52,8 +52,8 @@ field_type: class: solr.LowerCaseFilterFactory - class: solr.SnowballPorterFilterFactory - language: English protected: protwords_en.txt + language: English - class: solr.RemoveDuplicatesTokenFilterFactory - @@ -67,9 +67,9 @@ field_type: filters: - class: solr.SynonymFilterFactory + ignoreCase: true synonyms: synonyms_en.txt expand: true - ignoreCase: true - class: solr.StopFilterFactory ignoreCase: true @@ -92,8 +92,8 @@ field_type: class: solr.LowerCaseFilterFactory - class: solr.SnowballPorterFilterFactory - language: English protected: protwords_en.txt + language: English - class: solr.RemoveDuplicatesTokenFilterFactory unstemmed_field_type: @@ -144,9 +144,9 @@ unstemmed_field_type: filters: - class: solr.SynonymFilterFactory + ignoreCase: true synonyms: synonyms_en.txt expand: true - ignoreCase: true - class: solr.StopFilterFactory ignoreCase: true @@ -169,6 +169,7 @@ unstemmed_field_type: class: solr.LowerCaseFilterFactory - class: solr.RemoveDuplicatesTokenFilterFactory +spellcheck_field_type: null collated_field_type: name: collated_en class: solr.ICUCollationField @@ -291,6 +292,193 @@ text_files: was will with + protwords: | + accents: | + # À => A + "\u00C0" => "A" + # Á => A + "\u00C1" => "A" + #  => A + "\u00C2" => "A" + # à => A + "\u00C3" => "A" + # Ä => A + "\u00C4" => "A" + # Å => A + "\u00C5" => "A" + # Ą => A + "\u0104" => "A" + # Æ => AE + "\u00C6" => "AE" + # Ç => C + "\u00C7" => "C" + # Ć => C + "\U0106" => "C" + # È => E + "\u00C8" => "E" + # É => E + "\u00C9" => "E" + # Ê => E + "\u00CA" => "E" + # Ë => E + "\u00CB" => "E" + # Ę => E + "\u0118" => "E" + # Ì => I + "\u00CC" => "I" + # Í => I + "\u00CD" => "I" + # Î => I + "\u00CE" => "I" + # Ï => I + "\u00CF" => "I" + # IJ => IJ + "\u0132" => "IJ" + # Ð => D + "\u00D0" => "D" + # Ł => L + "\u0141" => "L" + # Ñ => N + "\u00D1" => "N" + # Ń => N + "\u0143" => "N" + # Ò => O + "\u00D2" => "O" + # Ó => O + "\u00D3" => "O" + # Ô => O + "\u00D4" => "O" + # Õ => O + "\u00D5" => "O" + # Ö => O + "\u00D6" => "O" + # Ø => O + "\u00D8" => "O" + # Œ => OE + "\u0152" => "OE" + # Þ + "\u00DE" => "TH" + # Ù => U + "\u00D9" => "U" + # Ú => U + "\u00DA" => "U" + # Û => U + "\u00DB" => "U" + # Ü => U + "\u00DC" => "U" + # Ý => Y + "\u00DD" => "Y" + # Ÿ => Y + "\u0178" => "Y" + # à => a + "\u00E0" => "a" + # á => a + "\u00E1" => "a" + # â => a + "\u00E2" => "a" + # ã => a + "\u00E3" => "a" + # ä => a + "\u00E4" => "a" + # å => a + "\u00E5" => "a" + # æ => ae + "\u00E6" => "ae" + # ç => c + "\u00E7" => "c" + # è => e + "\u00E8" => "e" + # é => e + "\u00E9" => "e" + # ê => e + "\u00EA" => "e" + # ë => e + "\u00EB" => "e" + # ì => i + "\u00EC" => "i" + # í => i + "\u00ED" => "i" + # î => i + "\u00EE" => "i" + # ï => i + "\u00EF" => "i" + # ij => ij + "\u0133" => "ij" + # ð => d + "\u00F0" => "d" + # ñ => n + "\u00F1" => "n" + # ò => o + "\u00F2" => "o" + # ó => o + "\u00F3" => "o" + # ô => o + "\u00F4" => "o" + # õ => o + "\u00F5" => "o" + # ö => o + "\u00F6" => "o" + # ø => o + "\u00F8" => "o" + # œ => oe + "\u0153" => "oe" + # ß => ss + "\u00DF" => "ss" + # Ś => S + "\u015a" => "S" + # þ => th + "\u00FE" => "th" + # ù => u + "\u00F9" => "u" + # ú => u + "\u00FA" => "u" + # û => u + "\u00FB" => "u" + # ü => u + "\u00FC" => "u" + # ý => y + "\u00FD" => "y" + # ÿ => y + "\u00FF" => "y" + # Ź => Z + "\u0179" => "Z" + # Ż => Z + "\u017b" => "Z" + # ff => ff + "\uFB00" => "ff" + # fi => fi + "\uFB01" => "fi" + # fl => fl + "\uFB02" => "fl" + # ffi => ffi + "\uFB03" => "ffi" + # ffl => ffl + "\uFB04" => "ffl" + # ſt => st + "\uFB05" => "st" + # st => st + "\uFB06" => "st" + # Māori macrons. + # Ā => A + "\u0100" => "A" + # Ē => E + "\u0112" => "E" + # Ī => I + "\u012A" => "I" + # Ō => O + "\u014C" => "O" + # Ū => U + "\u016A" => "U" + # ā => a + "\u0101" => "a" + # ē => e + "\u0113" => "e" + # ī => i + "\u012B" => "i" + # ō => o + "\u014D" => "o" + # ū => u + "\u016B" => "u" synonyms: | drupal, durpal abettor's, abetter's @@ -17769,190 +17957,3 @@ text_files: zoogleal, zoogloeal zoogleas, zoogloeas zygenid, zygaenid - protwords: | - accents: | - # À => A - "\u00C0" => "A" - # Á => A - "\u00C1" => "A" - #  => A - "\u00C2" => "A" - # à => A - "\u00C3" => "A" - # Ä => A - "\u00C4" => "A" - # Å => A - "\u00C5" => "A" - # Ą => A - "\u0104" => "A" - # Æ => AE - "\u00C6" => "AE" - # Ç => C - "\u00C7" => "C" - # Ć => C - "\U0106" => "C" - # È => E - "\u00C8" => "E" - # É => E - "\u00C9" => "E" - # Ê => E - "\u00CA" => "E" - # Ë => E - "\u00CB" => "E" - # Ę => E - "\u0118" => "E" - # Ì => I - "\u00CC" => "I" - # Í => I - "\u00CD" => "I" - # Î => I - "\u00CE" => "I" - # Ï => I - "\u00CF" => "I" - # IJ => IJ - "\u0132" => "IJ" - # Ð => D - "\u00D0" => "D" - # Ł => L - "\u0141" => "L" - # Ñ => N - "\u00D1" => "N" - # Ń => N - "\u0143" => "N" - # Ò => O - "\u00D2" => "O" - # Ó => O - "\u00D3" => "O" - # Ô => O - "\u00D4" => "O" - # Õ => O - "\u00D5" => "O" - # Ö => O - "\u00D6" => "O" - # Ø => O - "\u00D8" => "O" - # Œ => OE - "\u0152" => "OE" - # Þ - "\u00DE" => "TH" - # Ù => U - "\u00D9" => "U" - # Ú => U - "\u00DA" => "U" - # Û => U - "\u00DB" => "U" - # Ü => U - "\u00DC" => "U" - # Ý => Y - "\u00DD" => "Y" - # Ÿ => Y - "\u0178" => "Y" - # à => a - "\u00E0" => "a" - # á => a - "\u00E1" => "a" - # â => a - "\u00E2" => "a" - # ã => a - "\u00E3" => "a" - # ä => a - "\u00E4" => "a" - # å => a - "\u00E5" => "a" - # æ => ae - "\u00E6" => "ae" - # ç => c - "\u00E7" => "c" - # è => e - "\u00E8" => "e" - # é => e - "\u00E9" => "e" - # ê => e - "\u00EA" => "e" - # ë => e - "\u00EB" => "e" - # ì => i - "\u00EC" => "i" - # í => i - "\u00ED" => "i" - # î => i - "\u00EE" => "i" - # ï => i - "\u00EF" => "i" - # ij => ij - "\u0133" => "ij" - # ð => d - "\u00F0" => "d" - # ñ => n - "\u00F1" => "n" - # ò => o - "\u00F2" => "o" - # ó => o - "\u00F3" => "o" - # ô => o - "\u00F4" => "o" - # õ => o - "\u00F5" => "o" - # ö => o - "\u00F6" => "o" - # ø => o - "\u00F8" => "o" - # œ => oe - "\u0153" => "oe" - # ß => ss - "\u00DF" => "ss" - # Ś => S - "\u015a" => "S" - # þ => th - "\u00FE" => "th" - # ù => u - "\u00F9" => "u" - # ú => u - "\u00FA" => "u" - # û => u - "\u00FB" => "u" - # ü => u - "\u00FC" => "u" - # ý => y - "\u00FD" => "y" - # ÿ => y - "\u00FF" => "y" - # Ź => Z - "\u0179" => "Z" - # Ż => Z - "\u017b" => "Z" - # ff => ff - "\uFB00" => "ff" - # fi => fi - "\uFB01" => "fi" - # fl => fl - "\uFB02" => "fl" - # ffi => ffi - "\uFB03" => "ffi" - # ffl => ffl - "\uFB04" => "ffl" - # ſt => st - "\uFB05" => "st" - # st => st - "\uFB06" => "st" - # Māori macrons. - # Ā => A - "\u0100" => "A" - # Ē => E - "\u0112" => "E" - # Ī => I - "\u012A" => "I" - # Ō => O - "\u014C" => "O" - # Ū => U - "\u016A" => "U" - # ā => a - "\u0101" => "a" - # ē => e - "\u0113" => "e" - # ī => i - "\u012B" => "i" - # ō => o - "\u014D" => "o" - # ū => u - "\u016B" => "u" diff --git a/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml index 89f7030..b72ae3f 100644 --- a/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_en_7_0_0.yml @@ -2,11 +2,11 @@ uuid: b533adec-8ead-4ae8-844c-60c09f9a5a0b langcode: en status: true dependencies: + config: + - language.entity.en module: - search_api_solr - language - config: - - language.entity.en _core: default_config_hash: z_jqUIqG9ENXs1o8fMzrcbkK3AItFHpxsWlM4o5IHoU id: text_en_7_0_0 @@ -52,8 +52,8 @@ field_type: class: solr.LowerCaseFilterFactory - class: solr.SnowballPorterFilterFactory - language: English protected: protwords_en.txt + language: English - class: solr.RemoveDuplicatesTokenFilterFactory - @@ -67,9 +67,9 @@ field_type: filters: - class: solr.SynonymGraphFilterFactory + ignoreCase: true synonyms: synonyms_en.txt expand: true - ignoreCase: true - class: solr.StopFilterFactory ignoreCase: true @@ -92,8 +92,8 @@ field_type: class: solr.LowerCaseFilterFactory - class: solr.SnowballPorterFilterFactory - language: English protected: protwords_en.txt + language: English - class: solr.RemoveDuplicatesTokenFilterFactory unstemmed_field_type: @@ -144,9 +144,9 @@ unstemmed_field_type: filters: - class: solr.SynonymGraphFilterFactory + ignoreCase: true synonyms: synonyms_en.txt expand: true - ignoreCase: true - class: solr.StopFilterFactory ignoreCase: true @@ -169,6 +169,7 @@ unstemmed_field_type: class: solr.LowerCaseFilterFactory - class: solr.RemoveDuplicatesTokenFilterFactory +spellcheck_field_type: null collated_field_type: name: collated_en class: solr.ICUCollationField @@ -291,6 +292,193 @@ text_files: was will with + protwords: | + accents: | + # À => A + "\u00C0" => "A" + # Á => A + "\u00C1" => "A" + #  => A + "\u00C2" => "A" + # à => A + "\u00C3" => "A" + # Ä => A + "\u00C4" => "A" + # Å => A + "\u00C5" => "A" + # Ą => A + "\u0104" => "A" + # Æ => AE + "\u00C6" => "AE" + # Ç => C + "\u00C7" => "C" + # Ć => C + "\U0106" => "C" + # È => E + "\u00C8" => "E" + # É => E + "\u00C9" => "E" + # Ê => E + "\u00CA" => "E" + # Ë => E + "\u00CB" => "E" + # Ę => E + "\u0118" => "E" + # Ì => I + "\u00CC" => "I" + # Í => I + "\u00CD" => "I" + # Î => I + "\u00CE" => "I" + # Ï => I + "\u00CF" => "I" + # IJ => IJ + "\u0132" => "IJ" + # Ð => D + "\u00D0" => "D" + # Ł => L + "\u0141" => "L" + # Ñ => N + "\u00D1" => "N" + # Ń => N + "\u0143" => "N" + # Ò => O + "\u00D2" => "O" + # Ó => O + "\u00D3" => "O" + # Ô => O + "\u00D4" => "O" + # Õ => O + "\u00D5" => "O" + # Ö => O + "\u00D6" => "O" + # Ø => O + "\u00D8" => "O" + # Œ => OE + "\u0152" => "OE" + # Þ + "\u00DE" => "TH" + # Ù => U + "\u00D9" => "U" + # Ú => U + "\u00DA" => "U" + # Û => U + "\u00DB" => "U" + # Ü => U + "\u00DC" => "U" + # Ý => Y + "\u00DD" => "Y" + # Ÿ => Y + "\u0178" => "Y" + # à => a + "\u00E0" => "a" + # á => a + "\u00E1" => "a" + # â => a + "\u00E2" => "a" + # ã => a + "\u00E3" => "a" + # ä => a + "\u00E4" => "a" + # å => a + "\u00E5" => "a" + # æ => ae + "\u00E6" => "ae" + # ç => c + "\u00E7" => "c" + # è => e + "\u00E8" => "e" + # é => e + "\u00E9" => "e" + # ê => e + "\u00EA" => "e" + # ë => e + "\u00EB" => "e" + # ì => i + "\u00EC" => "i" + # í => i + "\u00ED" => "i" + # î => i + "\u00EE" => "i" + # ï => i + "\u00EF" => "i" + # ij => ij + "\u0133" => "ij" + # ð => d + "\u00F0" => "d" + # ñ => n + "\u00F1" => "n" + # ò => o + "\u00F2" => "o" + # ó => o + "\u00F3" => "o" + # ô => o + "\u00F4" => "o" + # õ => o + "\u00F5" => "o" + # ö => o + "\u00F6" => "o" + # ø => o + "\u00F8" => "o" + # œ => oe + "\u0153" => "oe" + # ß => ss + "\u00DF" => "ss" + # Ś => S + "\u015a" => "S" + # þ => th + "\u00FE" => "th" + # ù => u + "\u00F9" => "u" + # ú => u + "\u00FA" => "u" + # û => u + "\u00FB" => "u" + # ü => u + "\u00FC" => "u" + # ý => y + "\u00FD" => "y" + # ÿ => y + "\u00FF" => "y" + # Ź => Z + "\u0179" => "Z" + # Ż => Z + "\u017b" => "Z" + # ff => ff + "\uFB00" => "ff" + # fi => fi + "\uFB01" => "fi" + # fl => fl + "\uFB02" => "fl" + # ffi => ffi + "\uFB03" => "ffi" + # ffl => ffl + "\uFB04" => "ffl" + # ſt => st + "\uFB05" => "st" + # st => st + "\uFB06" => "st" + # Māori macrons. + # Ā => A + "\u0100" => "A" + # Ē => E + "\u0112" => "E" + # Ī => I + "\u012A" => "I" + # Ō => O + "\u014C" => "O" + # Ū => U + "\u016A" => "U" + # ā => a + "\u0101" => "a" + # ē => e + "\u0113" => "e" + # ī => i + "\u012B" => "i" + # ō => o + "\u014D" => "o" + # ū => u + "\u016B" => "u" synonyms: | drupal, durpal abettor's, abetter's @@ -17769,190 +17957,3 @@ text_files: zoogleal, zoogloeal zoogleas, zoogloeas zygenid, zygaenid - protwords: | - accents: | - # À => A - "\u00C0" => "A" - # Á => A - "\u00C1" => "A" - #  => A - "\u00C2" => "A" - # à => A - "\u00C3" => "A" - # Ä => A - "\u00C4" => "A" - # Å => A - "\u00C5" => "A" - # Ą => A - "\u0104" => "A" - # Æ => AE - "\u00C6" => "AE" - # Ç => C - "\u00C7" => "C" - # Ć => C - "\U0106" => "C" - # È => E - "\u00C8" => "E" - # É => E - "\u00C9" => "E" - # Ê => E - "\u00CA" => "E" - # Ë => E - "\u00CB" => "E" - # Ę => E - "\u0118" => "E" - # Ì => I - "\u00CC" => "I" - # Í => I - "\u00CD" => "I" - # Î => I - "\u00CE" => "I" - # Ï => I - "\u00CF" => "I" - # IJ => IJ - "\u0132" => "IJ" - # Ð => D - "\u00D0" => "D" - # Ł => L - "\u0141" => "L" - # Ñ => N - "\u00D1" => "N" - # Ń => N - "\u0143" => "N" - # Ò => O - "\u00D2" => "O" - # Ó => O - "\u00D3" => "O" - # Ô => O - "\u00D4" => "O" - # Õ => O - "\u00D5" => "O" - # Ö => O - "\u00D6" => "O" - # Ø => O - "\u00D8" => "O" - # Œ => OE - "\u0152" => "OE" - # Þ - "\u00DE" => "TH" - # Ù => U - "\u00D9" => "U" - # Ú => U - "\u00DA" => "U" - # Û => U - "\u00DB" => "U" - # Ü => U - "\u00DC" => "U" - # Ý => Y - "\u00DD" => "Y" - # Ÿ => Y - "\u0178" => "Y" - # à => a - "\u00E0" => "a" - # á => a - "\u00E1" => "a" - # â => a - "\u00E2" => "a" - # ã => a - "\u00E3" => "a" - # ä => a - "\u00E4" => "a" - # å => a - "\u00E5" => "a" - # æ => ae - "\u00E6" => "ae" - # ç => c - "\u00E7" => "c" - # è => e - "\u00E8" => "e" - # é => e - "\u00E9" => "e" - # ê => e - "\u00EA" => "e" - # ë => e - "\u00EB" => "e" - # ì => i - "\u00EC" => "i" - # í => i - "\u00ED" => "i" - # î => i - "\u00EE" => "i" - # ï => i - "\u00EF" => "i" - # ij => ij - "\u0133" => "ij" - # ð => d - "\u00F0" => "d" - # ñ => n - "\u00F1" => "n" - # ò => o - "\u00F2" => "o" - # ó => o - "\u00F3" => "o" - # ô => o - "\u00F4" => "o" - # õ => o - "\u00F5" => "o" - # ö => o - "\u00F6" => "o" - # ø => o - "\u00F8" => "o" - # œ => oe - "\u0153" => "oe" - # ß => ss - "\u00DF" => "ss" - # Ś => S - "\u015a" => "S" - # þ => th - "\u00FE" => "th" - # ù => u - "\u00F9" => "u" - # ú => u - "\u00FA" => "u" - # û => u - "\u00FB" => "u" - # ü => u - "\u00FC" => "u" - # ý => y - "\u00FD" => "y" - # ÿ => y - "\u00FF" => "y" - # Ź => Z - "\u0179" => "Z" - # Ż => Z - "\u017b" => "Z" - # ff => ff - "\uFB00" => "ff" - # fi => fi - "\uFB01" => "fi" - # fl => fl - "\uFB02" => "fl" - # ffi => ffi - "\uFB03" => "ffi" - # ffl => ffl - "\uFB04" => "ffl" - # ſt => st - "\uFB05" => "st" - # st => st - "\uFB06" => "st" - # Māori macrons. - # Ā => A - "\u0100" => "A" - # Ē => E - "\u0112" => "E" - # Ī => I - "\u012A" => "I" - # Ō => O - "\u014C" => "O" - # Ū => U - "\u016A" => "U" - # ā => a - "\u0101" => "a" - # ē => e - "\u0113" => "e" - # ī => i - "\u012B" => "i" - # ō => o - "\u014D" => "o" - # ū => u - "\u016B" => "u" diff --git a/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml index d5efb29..97bcae3 100644 --- a/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_und_6_0_0.yml @@ -60,9 +60,9 @@ field_type: filters: - class: solr.SynonymFilterFactory + ignoreCase: true synonyms: synonyms_und.txt expand: true - ignoreCase: true - class: solr.StopFilterFactory ignoreCase: true @@ -85,6 +85,7 @@ field_type: class: solr.LowerCaseFilterFactory - class: solr.RemoveDuplicatesTokenFilterFactory +unstemmed_field_type: null spellcheck_field_type: name: text_spell_und class: solr.TextField @@ -193,8 +194,6 @@ solr_configs: VALUE: 'false' text_files: stopwords: | - synonyms: | - drupal, durpal protwords: | accents: | # À => A @@ -345,3 +344,5 @@ text_files: "\uFB05" => "st" # st => st "\uFB06" => "st" + synonyms: | + drupal, durpal diff --git a/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml b/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml index be8b82c..49139b3 100644 --- a/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml +++ b/config/sync/search_api_solr.solr_field_type.text_und_7_0_0.yml @@ -62,9 +62,9 @@ field_type: filters: - class: solr.SynonymGraphFilterFactory + ignoreCase: true synonyms: synonyms_und.txt expand: true - ignoreCase: true - class: solr.StopFilterFactory ignoreCase: true @@ -87,6 +87,7 @@ field_type: class: solr.LowerCaseFilterFactory - class: solr.RemoveDuplicatesTokenFilterFactory +unstemmed_field_type: null spellcheck_field_type: name: text_spell_und class: solr.TextField @@ -195,8 +196,6 @@ solr_configs: VALUE: 'false' text_files: stopwords: | - synonyms: | - drupal, durpal protwords: | accents: | # À => A @@ -347,3 +346,5 @@ text_files: "\uFB05" => "st" # st => st "\uFB06" => "st" + synonyms: | + drupal, durpal