No. Doesn't appear to be, out of the box
While my initial instinct was, that @Richard Seal's answer was correct, I don't actually see any documentation stating that this will work with search driven fields.
While proving a negative is impossible, I checked the following guides. None of them list &DatabaseName=xxx
as a valid parameter for the search driven fields - only for the regular content driven ones.
Mentions DatabaseName
only under the section "Fields without Search".
The possibility is mentioned briefly (but not otherwise documented) when discussing the StartSearchLocation
argument.
To lookup which index should be searched. This is necessary as you could be using a sharded index approach or you could be search the Core or Web database.
Makes no mention of DatabaseName anywhere at all, in the entire document.
Mentions a lot of fixes and workarounds for this field. Database switching is not mentioned at all.
In the code
The code is not the easiest to follow, as it has been abstracted out a fair bit. But ultimately it comes down to this method located in Sitecore.Buckets.FieldTypes.SearchList
:
ExtractStartSearchLocation(NameValueCollection values, Item currentItem)
The method deals with parsing the StartSearchLocation (which would also include database).
It calls up an internal method, MakeFilterQueryable(string locationFilter)
that is tasked with resolving the location (checking for query:
etc) - and ends up doing this:
locationFilter = obj.ID.ToString();
The key thing to note here is, it returns an ID. Not a DataUri or SitecoreUri that could include database information. Just an ID.
Further on, where it actually renders the results to show in the list results, we also find this code:
foreach (string path in str3.Split(separator, (StringSplitOptions) num))
{
Item obj = Context.ContentDatabase.GetItem(path, language);
string str4 = obj != null ? this.OutputString(obj) : path + " " + Translate.Text("[Item not found]");
output.Write("<option value='" + path + "'>" + str4 + "</option>");
}
Notice how it makes no effort to deal with the database issue. It just grabs the Context.ContentDatabase
and gets on with it.
In summary
If there is a way to query across databases on this field OOTB, I can't see a way. I did find references to a db
parameter in some parts of the code, but I don't see it actually being used in any of the sample code above.