I realized the same problem, the search function is not working for me. I think it was posted somewhere else in the past.the search function from menu in movies does not find anything for me.
The "-" just changes to "?" after some times without any result. The "searching" text remains until I press "back".
View attachment 178266
Are there more details what this function does? Screenshots? (No, I don't have MP1 installed since years)You really should just look at MovPic code for 'remote filtering' and implement that
SELECT
T0.MEDIA_ITEM_ID A0,
T6.ATTRIBUTE_VALUE A1
FROM NM_ACTORS T0
INNER JOIN V_ACTORS T6 ON T0.ID = T6.ID
INNER JOIN M_PROVIDERRESOURCE T7 ON T7.MEDIA_ITEM_ID = T0.MEDIA_ITEM_ID
INNER JOIN M_MEDIAITEM T8 ON T8.MEDIA_ITEM_ID = T0.MEDIA_ITEM_ID
INNER JOIN M_VIDEOITEM T9 ON T9.MEDIA_ITEM_ID = T0.MEDIA_ITEM_ID
INNER JOIN M_SERIESITEM T10 ON T10.MEDIA_ITEM_ID = T0.MEDIA_ITEM_ID
LEFT OUTER JOIN NM_GENRES T11 ON T11.MEDIA_ITEM_ID = T0.MEDIA_ITEM_ID
LEFT OUTER JOIN V_GENRES T1 ON T11.ID = T1.ID
LEFT OUTER JOIN NM_AUDIOLANGUAGES T12 ON T12.MEDIA_ITEM_ID = T0.MEDIA_ITEM_ID
LEFT OUTER JOIN V_AUDIOLANGUAGES T2 ON T12.ID = T2.ID
LEFT OUTER JOIN NM_ACTORS T13 ON T13.MEDIA_ITEM_ID = T0.MEDIA_ITEM_ID
LEFT OUTER JOIN V_ACTORS T3 ON T13.ID = T3.ID
LEFT OUTER JOIN NM_DIRECTORS T14 ON T14.MEDIA_ITEM_ID = T0.MEDIA_ITEM_ID
LEFT OUTER JOIN V_DIRECTORS T4 ON T14.ID = T4.ID
LEFT OUTER JOIN NM_WRITERS T15 ON T15.MEDIA_ITEM_ID = T0.MEDIA_ITEM_ID
LEFT OUTER JOIN V_WRITERS T5 ON T15.ID = T5.ID
WHERE
(
(
UPPER(
T7.SYSTEM_ID
) LIKE UPPER(
'%arr%'
) OR UPPER(
T7.PATH
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T8.TITLE
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T8.MIMETYPE
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T8.COMMENT
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T1.ATTRIBUTE_VALUE
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T9.AUDIOENCODING
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T2.ATTRIBUTE_VALUE
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T9.VIDEOENCODING
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T3.ATTRIBUTE_VALUE
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T4.ATTRIBUTE_VALUE
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T5.ATTRIBUTE_VALUE
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T9.STORYPLOT
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T10.IMDBID
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T10.SERIESNAME
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T10.SERIESSEASONNAME
) LIKE UPPER(
'%arr%'
)
OR UPPER(
T10.EPISODENAME
) LIKE UPPER(
'%arr%'
)
)
)
I think this would be pretty much, what most people would expect. Alternatively users could define what they prefer to be included within search function in settings.One easier way would be to search title only, but it would be bad to loose the global filter (but it has to perform better )
public MediaItemQuery BuildSimpleTextSearchQuery(string searchText, IEnumerable<Guid> necessaryMIATypes,
IEnumerable<Guid> optionalMIATypes, IFilter filter, bool includeCLOBs, bool caseSensitive)
{
IFilter resultFilter;
if (string.IsNullOrEmpty(searchText))
resultFilter = new FalseFilter();
else
{
IMediaItemAspectTypeRegistration miatr = ServiceRegistration.Get<IMediaItemAspectTypeRegistration>();
ICollection<IFilter> textFilters = new List<IFilter>();
ICollection<MediaItemAspectMetadata> types = new HashSet<MediaItemAspectMetadata>();
if (necessaryMIATypes != null)
foreach (Guid miaType in necessaryMIATypes)
types.Add(miatr.LocallyKnownMediaItemAspectTypes[miaType]);
if (optionalMIATypes != null)
foreach (Guid miaType in optionalMIATypes)
types.Add(miatr.LocallyKnownMediaItemAspectTypes[miaType]);
if (types.Count == 0)
types = miatr.LocallyKnownMediaItemAspectTypes.Values;
foreach (MediaItemAspectMetadata miaType in types)
foreach (MediaItemAspectMetadata.AttributeSpecification attrType in miaType.AttributeSpecifications.Values)
if (attrType.AttributeType == typeof(string) &&
attrType.MaxNumChars >= searchText.Length &&
(includeCLOBs || !_miaManagement.IsCLOBAttribute(attrType)))
textFilters.Add(new LikeFilter(attrType, "%" + SqlUtils.LikeEscape(searchText, ESCAPE_CHAR) + "%", ESCAPE_CHAR, caseSensitive));
resultFilter = BooleanCombinationFilter.CombineFilters(BooleanOperator.And,
new BooleanCombinationFilter(BooleanOperator.Or, textFilters), filter);
}
return new MediaItemQuery(necessaryMIATypes, optionalMIATypes, resultFilter);
}