diff --git a/.platform/solr_config/schema.xml b/.platform/solr_config/schema.xml
index 75ac26cf4..030615863 100644
--- a/.platform/solr_config/schema.xml
+++ b/.platform/solr_config/schema.xml
@@ -217,6 +217,9 @@
+
+
+
diff --git a/composer.json b/composer.json
index 8c46aa989..3d7a05d4b 100644
--- a/composer.json
+++ b/composer.json
@@ -131,7 +131,7 @@
"drupal/search_api_autocomplete": "^1.10",
"drupal/search_api_location": "^1.0@alpha",
"drupal/search_api_solr": "4.x-dev@dev",
- "drupal/search_api_spellcheck": "4.0.x-dev@dev",
+ "drupal/search_api_spellcheck": "^4.0",
"drupal/seven": "^1.0",
"drupal/shs": "^2.0",
"drupal/silktide": "^10.3",
diff --git a/composer.lock b/composer.lock
index 25a1292fc..988229c0c 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "bce08f5dea5e087dbd2a7b790ab6f9d8",
+ "content-hash": "9a218358a0330729783350d920714998",
"packages": [
{
"name": "asm89/stack-cors",
@@ -8454,11 +8454,17 @@
},
{
"name": "drupal/search_api_spellcheck",
- "version": "dev-4.0.x",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/search_api_spellcheck.git",
- "reference": "d84cbb539a5a91c9112658809a6b6d0c9b61ad49"
+ "reference": "4.0.1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/search_api_spellcheck-4.0.1.zip",
+ "reference": "4.0.1",
+ "shasum": "71c8dd4641c161ede730860b57f79a9b025f5c55"
},
"require": {
"drupal/core": "^10.1 || ^11.0",
@@ -8466,15 +8472,12 @@
},
"type": "drupal-module",
"extra": {
- "branch-alias": {
- "dev-4.0.x": "4.0.x-dev"
- },
"drupal": {
- "version": "4.0.0+6-dev",
- "datestamp": "1718896777",
+ "version": "4.0.1",
+ "datestamp": "1718897462",
"security-coverage": {
- "status": "not-covered",
- "message": "Dev releases are not covered by Drupal security advisories."
+ "status": "covered",
+ "message": "Covered by Drupal's security advisory policy"
}
}
},
@@ -22704,6 +22707,7 @@
"drupal/block_field": 5,
"drupal/ckeditor5_allowed_html": 20,
"drupal/config_update": 15,
+ "drupal/easy_install_d10": 20,
"drupal/feeds": 20,
"drupal/feeds_ex": 10,
"drupal/feeds_fetcher_headers": 20,
@@ -22713,11 +22717,9 @@
"drupal/inline_entity_form": 5,
"drupal/search_api_location": 15,
"drupal/search_api_solr": 20,
- "drupal/search_api_spellcheck": 20,
"drupal/tamper": 15,
"drupal/telephone_plus": 20,
- "drupal/ultimate_cron": 10,
- "drupal/easy_install_d10": 20
+ "drupal/ultimate_cron": 10
},
"prefer-stable": true,
"prefer-lowest": false,
@@ -22725,6 +22727,6 @@
"ext-dom": "20031129",
"ext-simplexml": "*"
},
- "platform-dev": [],
+ "platform-dev": {},
"plugin-api-version": "2.6.0"
}
diff --git a/config/sync/search_api.index.contacts.yml b/config/sync/search_api.index.contacts.yml
index ad4767dc2..3ff281c8b 100644
--- a/config/sync/search_api.index.contacts.yml
+++ b/config/sync/search_api.index.contacts.yml
@@ -3,20 +3,19 @@ langcode: en
status: true
dependencies:
config:
+ - field.storage.node.body
- field.storage.node.field_address
- field.storage.node.field_di_adi_no
- field.storage.node.field_di_areas
- - field.storage.node.body
- field.storage.node.field_di_categories
- field.storage.node.field_di_firstname
- field.storage.node.field_di_lastname
- field.storage.node.field_supplementary_contact
- search_api.server.solr_default
module:
+ - node
- search_api_solr
- taxonomy
- - node
- - search_api
third_party_settings:
search_api_solr:
finalize: false
@@ -265,15 +264,24 @@ field_settings:
dependencies:
module:
- node
- title_fulltext:
- label: 'Title fulltext'
- property_path: aggregated_field
- type: text
- boost: 13.0
- configuration:
- type: concat
- fields:
- - 'entity:node/title'
+ title_ngram:
+ label: Title
+ datasource_id: 'entity:node'
+ property_path: title
+ type: 'solr_text_custom:ngram'
+ boost: 21.0
+ dependencies:
+ module:
+ - node
+ title_spellcheck:
+ label: Title
+ datasource_id: 'entity:node'
+ property_path: title
+ type: solr_text_spellcheck
+ boost: 21.0
+ dependencies:
+ module:
+ - node
type:
label: 'Content type'
datasource_id: 'entity:node'
@@ -295,7 +303,10 @@ datasource_settings:
processor_settings:
add_url: { }
aggregated_field: { }
+ auto_aggregated_fulltext_field: { }
+ custom_value: { }
entity_status: { }
+ entity_type: { }
hierarchy:
weights:
preprocess_index: -45
@@ -329,7 +340,8 @@ processor_settings:
- postal_code
- sorting_code
- title
- - title_fulltext
+ - title_ngram
+ - title_spellcheck
- type
title: true
alt: true
@@ -349,5 +361,7 @@ tracker_settings:
indexing_order: fifo
options:
cron_limit: 50
+ delete_on_fail: true
index_directly: true
+ track_changes_in_references: true
server: solr_default
diff --git a/config/sync/search_api.index.default_content.yml b/config/sync/search_api.index.default_content.yml
index 7d4c54642..1d5cc89eb 100644
--- a/config/sync/search_api.index.default_content.yml
+++ b/config/sync/search_api.index.default_content.yml
@@ -3,12 +3,14 @@ langcode: en
status: true
dependencies:
config:
- - field.storage.node.field_address
+ - core.entity_view_mode.node.full
- field.storage.node.body
+ - field.storage.node.field_address
- field.storage.node.field_contact_category
- field.storage.node.field_email_address
+ - field.storage.node.field_gp_practice_lead
+ - field.storage.node.field_gp_practice_member
- field.storage.node.field_hc_body_location
- - field.storage.taxonomy_term.field_term_hc_synonyms
- field.storage.node.field_hc_body_system
- field.storage.node.field_hc_condition_type
- field.storage.node.field_hc_primary_symptom_1
@@ -21,17 +23,14 @@ dependencies:
- field.storage.node.field_site_themes
- field.storage.node.field_subtheme
- field.storage.node.field_summary
- - field.storage.node.field_gp_practice_member
- - field.storage.node.field_gp_practice_lead
+ - field.storage.taxonomy_term.field_term_hc_synonyms
- search_api.server.solr_default
- - core.entity_view_mode.node.full
module:
- - search_api_solr
+ - nidirect_gp
- node
- - taxonomy
- search_api_location
- - nidirect_gp
- - search_api
+ - search_api_solr
+ - taxonomy
third_party_settings:
search_api_solr:
finalize: false
@@ -478,6 +477,24 @@ field_settings:
dependencies:
module:
- node
+ title_ngram:
+ label: Title
+ datasource_id: 'entity:node'
+ property_path: title
+ type: 'solr_text_custom:ngramstring'
+ boost: 3.0
+ dependencies:
+ module:
+ - node
+ title_spellcheck:
+ label: Title
+ datasource_id: 'entity:node'
+ property_path: title
+ type: solr_text_spellcheck
+ boost: 21.0
+ dependencies:
+ module:
+ - node
type:
label: 'Content type'
datasource_id: 'entity:node'
@@ -558,6 +575,8 @@ processor_settings:
- rendered_item
- rendered_item_spellcheck
- title
+ - title_ngram
+ - title_spellcheck
- type
title: false
alt: true
@@ -579,6 +598,7 @@ tracker_settings:
indexing_order: fifo
options:
cron_limit: 50
+ delete_on_fail: true
index_directly: true
track_changes_in_references: true
server: solr_default
diff --git a/config/sync/views.view.contacts.yml b/config/sync/views.view.contacts.yml
index 635c82c55..6b2f75135 100644
--- a/config/sync/views.view.contacts.yml
+++ b/config/sync/views.view.contacts.yml
@@ -97,6 +97,7 @@ display:
type: full
options:
offset: 0
+ pagination_heading_level: h4
items_per_page: 50
total_pages: null
id: 0
@@ -114,7 +115,6 @@ display:
offset: false
offset_label: Offset
quantity: 9
- pagination_heading_level: h4
exposed_form:
type: input_required
options:
@@ -144,7 +144,7 @@ display:
plugin_id: search_api_spellcheck_did_you_mean
empty: true
search_api_spellcheck_count: 1
- search_api_spellcheck_hide_on_result: 1
+ search_api_spellcheck_hide_on_result: true
search_api_spellcheck_collate: true
area:
id: area
@@ -227,9 +227,12 @@ display:
health_condition_author_user: '0'
health_condition_supervisor_user: '0'
driving_instructor_supervisor_user: '0'
+ qa_user: '0'
+ qa: '0'
expose_fields: false
placeholder: 'Search contacts'
searched_fields_id: ''
+ value_maxlength: 128
is_grouped: false
group_info:
label: ''
@@ -242,7 +245,7 @@ display:
default_group: All
default_group_multiple: { }
group_items: { }
- parse_mode: sloppy_terms
+ parse_mode: terms
min_length: 2
fields:
- address_line1
@@ -250,6 +253,9 @@ display:
- body
- field_supplementary_contact
- title_fulltext
+ - title_ngram
+ - title_spellcheck
+ - title_txtedge
style:
type: html_list
row:
@@ -286,6 +292,7 @@ display:
- 'user.node_grants:view'
tags:
- 'config:search_api.index.contacts'
+ - 'search_api_list:contacts'
contact_search:
id: contact_search
display_title: 'Embed: Contacts search'
@@ -310,3 +317,4 @@ display:
- 'user.node_grants:view'
tags:
- 'config:search_api.index.contacts'
+ - 'search_api_list:contacts'