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'