@WiiM Support
When browsing a media server through Home Music Share if you use the search function it performs a UPnP search after every letter you type, which on a large collection can be quite a significant overhead, even on a fast server.
A search for adele resulted in:
NOTE: The above listing is sorted by search term so it's easier to follow, but these searches/results are all threaded.
To summarise, the result of typing:
'a' resulted in 27,095 results
'ad' resulted in 2,564 results
'ade' resulted in 384 results
'adel' resulted in 99 results
'adele' resulted in 99 results
Whilst the view from the WiiM app might not look that bad the results take over a minute to complete, mainly because there's a huge amount of xml being returned for each of the 30,241 matches, 99.6% of which are being discarded.
If you select 'Artists' then the search term is correctly modified, but traditional UPnP control points don't work this way, plus you might actually want to search for a song title.
I'd suggest if you have to provide realtime feedback then you wait until at least three letters have been typed, this alone would have reduced the results from 30,241 to 582, but is still more than the 99 required.
When browsing a media server through Home Music Share if you use the search function it performs a UPnP search after every letter you type, which on a large collection can be quite a significant overhead, even on a fast server.
A search for adele resulted in:
Code:
# a
09:31:24.957 Thread-10: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=0 RequestedCount=2000 Filter=* SortCriteria=
09:31:28.521 Thread-10: NumberReturned=2000 TotalMatches=27095 UpdateID=393
09:31:29.708 Thread-12: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=2000 RequestedCount=2000 Filter=* SortCriteria=
09:31:34.557 Thread-5: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=4000 RequestedCount=2000 Filter=* SortCriteria=
09:31:37.466 Thread-11: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=6000 RequestedCount=2000 Filter=* SortCriteria=
09:31:40.879 Thread-5: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=8000 RequestedCount=2000 Filter=* SortCriteria=
09:31:44.512 Thread-10: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=10000 RequestedCount=2000 Filter=* SortCriteria=
09:31:48.540 Thread-10: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=12000 RequestedCount=2000 Filter=* SortCriteria=
09:31:53.300 Thread-11: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=14000 RequestedCount=2000 Filter=* SortCriteria=
09:31:57.831 Thread-10: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=16000 RequestedCount=2000 Filter=* SortCriteria=
09:32:02.795 Thread-5: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=18000 RequestedCount=2000 Filter=* SortCriteria=
09:32:07.971 Thread-11: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=20000 RequestedCount=2000 Filter=* SortCriteria=
09:32:13.602 Thread-11: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=22000 RequestedCount=2000 Filter=* SortCriteria=
09:32:19.959 Thread-10: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=24000 RequestedCount=2000 Filter=* SortCriteria=
09:32:26.242 Thread-10: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=26000 RequestedCount=2000 Filter=* SortCriteria=
09:32:32.187 Thread-5: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "a" or upnp:artist contains "a" or dc:creator contains "a") StartingIndex=27095 RequestedCount=2000 Filter=* SortCriteria=
# d
09:31:25.344 Thread-5: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "ad" or upnp:artist contains "ad" or dc:creator contains "ad") StartingIndex=0 RequestedCount=2000 Filter=* SortCriteria=
09:31:28.684 Thread-5: NumberReturned=2000 TotalMatches=2564 UpdateID=393
09:31:29.908 Thread-11: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "ad" or upnp:artist contains "ad" or dc:creator contains "ad") StartingIndex=2000 RequestedCount=2000 Filter=* SortCriteria=
09:31:32.439 Thread-5: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "ad" or upnp:artist contains "ad" or dc:creator contains "ad") StartingIndex=2564 RequestedCount=2000 Filter=* SortCriteria=
# e
09:31:25.636 Thread-11: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "ade" or upnp:artist contains "ade" or dc:creator contains "ade") StartingIndex=0 RequestedCount=2000 Filter=* SortCriteria=
09:31:26.859 Thread-11: NumberReturned=384 TotalMatches=384 UpdateID=393
09:31:27.224 Thread-11: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "ade" or upnp:artist contains "ade" or dc:creator contains "ade") StartingIndex=384 RequestedCount=2000 Filter=* SortCriteria=
# l
09:31:25.788 Thread-12: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "adel" or upnp:artist contains "adel" or dc:creator contains "adel") StartingIndex=0 RequestedCount=2000 Filter=* SortCriteria=
09:31:26.311 Thread-12: NumberReturned=99 TotalMatches=99 UpdateID=393
09:31:26.860 Thread-12: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "adel" or upnp:artist contains "adel" or dc:creator contains "adel") StartingIndex=99 RequestedCount=2000 Filter=* SortCriteria=
# e
09:31:26.431 Thread-12: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "adele" or upnp:artist contains "adele" or dc:creator contains "adele") StartingIndex=0 RequestedCount=2000 Filter=* SortCriteria=
09:31:26.796 Thread-12: NumberReturned=90 TotalMatches=90 UpdateID=393
09:31:26.989 Thread-12: SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and (dc:title contains "adele" or upnp:artist contains "adele" or dc:creator contains "adele") StartingIndex=90 RequestedCount=2000 Filter=* SortCriteria=
To summarise, the result of typing:
'a' resulted in 27,095 results
'ad' resulted in 2,564 results
'ade' resulted in 384 results
'adel' resulted in 99 results
'adele' resulted in 99 results
Whilst the view from the WiiM app might not look that bad the results take over a minute to complete, mainly because there's a huge amount of xml being returned for each of the 30,241 matches, 99.6% of which are being discarded.
If you select 'Artists' then the search term is correctly modified, but traditional UPnP control points don't work this way, plus you might actually want to search for a song title.
I'd suggest if you have to provide realtime feedback then you wait until at least three letters have been typed, this alone would have reduced the results from 30,241 to 582, but is still more than the 99 required.
Upvote
2