I'm having a weird issue where my Multilist with Search
field is searching my custom index instead of the sitecore_master_index
for items contained in the custom index. The multilist field source is defined as
StartSearchLocation=query:../..&Filter=+_templatename:Outcome Question
The multi-list with search field exists on items with different templates. The ones which are not in my custom index work as expected. Here is the search log being recorded:
39724 09:41:45 INFO Solr Query - ?q=((((((-_group:(29ebd112a0694e4bb80482374063e617) :) AND (-_group:(569c996fdf134dbca01a9dda4fc2c17b) :)) AND (-_group:(167e8210fc5440d9bfecf4b8bd51f75d) :)) AND ((_path:(26db877f40734a8a830b5397a3f11c36) AND _templatename:("Outcome Question")) AND _latestversion:(True))) AND _latestversion:(1)) AND _datasource:(sitecore))&start=0&rows=20&fl=*,score&fq=_indexname:(sitecore_master_index)
Here is the same field in the search log when using an item in my custom index
10408 09:41:49 INFO Solr Query - ?q=((((_path:(3493fb4172c24747a2bb5930cec674f8) AND _templatename:("Outcome Question")) AND _latestversion:(True)) AND _latestversion:(1)) AND _datasource:(sitecore))&start=0&rows=20&fl=*,score&fq=_indexname:(custom_things_master_index)
I don't want this to happen because my custom index doesn't have all the things that are in sitecore_master_index
but I am not sure why/how this is happening. Here is the index definition
<index id="custom_things_master_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider" >
<param desc="name">$(id)</param>
<param desc="core">$(id)</param>
<param desc="propertyStore" ref="contentSearch/indexConfigurations/databasePropertyStore" param1="$(id)" />
<configuration ref="contentSearch/indexConfigurations/customthingsIndexIndexConfiguration" />
<strategies hint="list:AddStrategy">
<strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/syncMaster" />
</strategies>
<locations hint="list:AddCrawler">
<crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
<Database>master</Database>
<Root>/sitecore/content/site</Root>
</crawler>
</locations>
<enableItemLanguageFallback>false</enableItemLanguageFallback>
<enableFieldLanguageFallback>false</enableFieldLanguageFallback>
</index>
Then the index configuration looks like this
<customthingsIndexIndexConfiguration ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration">
<documentOptions ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration/documentOptions">
<include hint="list:AddIncludedTemplate">
<templateType>{A59021E5-1A6D-449F-81FB-197CBD7770F4}</templateType>
...(more types)
</include>
</documentOptions>
</customthingsIndexIndexConfiguration>
My next step is going to be decompiling/overriding pipelines until I can debug into this to see how the custom index is taking precedence over sitecore_master_index
in this context. I'm hoping to avoid that if possible.
Any suggestions or things that seem out of whack here?
Edit: Attempt 1
I tried setting the index filter as part of the sourcing but no dice
StartSearchLocation=query:../..&Filter=+_templatename:Outcome Question|+_indexname:sitecore_master_index
and
StartSearchLocation=query:../..&Filter=+_templatename:Outcome Question&Filter=+_indexname:sitecore_master_index
But those both attempted to add the index filter within the custom index
?q=(((((_path:(0eee5f32251547558f721d80e6a7a376) AND _templatename:("Outcome Question")) AND _indexname:(sitecore_master_index)) AND _latestversion:(True)) AND _latestversion:(1)) AND _datasource:(sitecore))&start=0&rows=20&fl=*,score&fq=_indexname:(custom_things_programs_master_index)