You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To use ss_field_alternative_title as an example. Once the data is put it outputs multiple values ss_ and sort_X3b_en_. You'll notice the odd text in sort_X3b_en_. Although this possibly needed for something (maybe, I don't know what) it was suggested from the Solr community to just simply set DocValues as stored to false.
What seemed to work for me is changing the line in the schema_extra_types.xml file
<!-- FROM -->
<fieldTypename="collated_en"class="solr.ICUCollationField"locale="en"strength="primary"caseLevel="false"/>
<!-- TO -->
<fieldTypename="collated_en"class="solr.ICUCollationField"locale="en"useDocValuesAsStored="false"strength="primary"caseLevel="false"/>
These binary fields from the Solr document they are just taking the raw binary collation key values and returning the binary/processed keys as UTF8 values (which they aren't). So I was thinking that just dropping the fields as "stored" to clean up the searches and according to the docs
When useDocValuesAsStored="false", non-stored DocValues fields can still be explicitly requested by name in the fl param, but will not match glob patterns ("*"). - SOLR
I can give you examples of what it looks like before and after if that helps.
Sample after fix is applied
{
"id":"q5isd3-default_solr_index-entity:node/15:en",
"sm_context_tags":["search_api_X2f_index_X3a_default_solr_index",
"search_api_solr_X2f_site_hash_X3a_q5isd3",
"drupal_X2f_langcode_X3a_en"],
"tm_X3b_en_field_description":["Close-up Photo of brown Labrador Retriever puppy with its tongue out."],
"tm_X3b_en_title":["Puppy with Tongue Out"],
"sm_node_grants":["node_access_all:0"],
"ss_type":"islandora_object",
"ss_field_alternative_title":"xqxxyk",
"ss_author":"admin",
"sm_field_extent":["1 item"],
"ss_name_1":"Image",
"ds_changed_1":"2022-01-07T22:04:23Z",
"sm_name":["Dogs"],
"ds_changed":"2022-01-07T22:04:23Z",
"bs_sticky":false,
"ss_search_api_id":"entity:node/15:en",
"site":"https://islandora.traefik.me/",
"boost_document":1.0,
"ds_created":"2019-06-04T17:17:50Z",
"_version_":1721581805715324928,
"bs_status":true,
"its_uid":1,
"ss_search_api_datasource":"entity:node",
"index_id":"default_solr_index",
"hash":"q5isd3",
"timestamp":"2022-01-10T15:25:51Z",
"ss_search_api_language":"en"
}
And if I'm reading the documentation correctly, this shouldn't impact anything that was depending on those value but should hide them from returning those values when "*" searches are carried out. Would love some feedback. I'd be happy to add this as a pull request if I knew it was a good decision and where to t he file should be modified.
The text was updated successfully, but these errors were encountered:
I saw these fields recently when working on islandora and was confused by them. I can't imagine that anything in islandora would rely on the presence of these fields, which don't contain usable data. I don't see any downside, realy. In the unlikely case that there is an impact from setting useDocValuesAsStored="false", this change can be easily reverted.
To use
ss_field_alternative_title
as an example. Once the data is put it outputs multiple valuesss_
andsort_X3b_en_
. You'll notice the odd text insort_X3b_en_
. Although this possibly needed for something (maybe, I don't know what) it was suggested from the Solr community to just simply set DocValues as stored to false.What seemed to work for me is changing the line in the schema_extra_types.xml file
Sample output on single Islandora object
These binary fields from the Solr document they are just taking the raw binary collation key values and returning the binary/processed keys as UTF8 values (which they aren't). So I was thinking that just dropping the fields as "stored" to clean up the searches and according to the docs
When useDocValuesAsStored="false", non-stored DocValues fields can still be explicitly requested by name in the fl param, but will not match glob patterns ("*"). - SOLR
I can give you examples of what it looks like before and after if that helps.
Sample after fix is applied
And if I'm reading the documentation correctly, this shouldn't impact anything that was depending on those value but should hide them from returning those values when "*" searches are carried out. Would love some feedback. I'd be happy to add this as a pull request if I knew it was a good decision and where to t he file should be modified.
The text was updated successfully, but these errors were encountered: