Bug 7679 - CLI search command
: CLI search command
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: CLI
: unspecified
: PC Windows XP
: P3 normal (vote)
: 7.x
Assigned To: Michael Herger
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-03-31 07:39 UTC by Barry Gordon
Modified: 2009-07-31 10:18 UTC (History)
0 users

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Barry Gordon 2008-03-31 07:39:02 UTC
A couple of things.  The command appears to also return the Genres that match the search string.  This is a good thing.

The items per response field does not seem to be proper.  In a case I tried, with a moderate number (10) I get back a total count which is 19 and it is truly the sum of the 4 individual counts ().  If I set the items per response to 2 I get back a total count of 19 but the number of items actually retruned is 7 (1 contrib, 3 genres, 3 albums)  The total count is correct as it is the sum of the individual 4 counts, however the number of items for each type does not match the count.

The start field does not appear to have any meaning as no matter what it is set to  it always returns the same values.

here is a snaphot from my client illustrating the situation

SEND: search 0 2 term:jazz
doCaseSearch, input=0,2,term:jazz,count:19,contributors_count:1,contributor_id:91,contributor:Jazz
doCaseSearch   Array Length=22
Arg[0]=0    Arg[1]=2
Arg[2]=term:jazz    Arg[3]=count:19
Arg[4]=contributors_count:1    Arg[5]=contributor_id:91
Arg[6]=contributor:Jazz At The Philharmonic    Arg[7]=albums_count:11
Arg[8]=album_id:99    Arg[9]=album:Jazz at the Olympic - disc 6
Arg[10]=album_id:97    Arg[11]=album:Jazz At The Philharmonic   Disc 1
Arg[12]=album_id:100    Arg[13]=album:Jazz At The Philharmonic   Disc 10
Arg[14]=genres_count:7    Arg[15]=genre_id:41
Arg[16]=genre:General Jazz    Arg[17]=genre_id:20
Arg[18]=genre:Jazz    Arg[19]=genre_id:60
Arg[20]=genre:Jazz+Funk    Arg[21]=tracks_count:0
^^^doCaseSearch: items=19, total count=19, List length=7
SEND: search 2 2 term:jazz
doCaseSearch, input=2,2,term:jazz,count:19,contributors_count:1,contributor_id:91,contributor:Jazz
doCaseSearch   Array Length=22
Arg[0]=2    Arg[1]=2
Arg[2]=term:jazz    Arg[3]=count:19
Arg[4]=contributors_count:1    Arg[5]=contributor_id:91
Arg[6]=contributor:Jazz At The Philharmonic    Arg[7]=albums_count:11
Arg[8]=album_id:99    Arg[9]=album:Jazz at the Olympic - disc 6
Arg[10]=album_id:97    Arg[11]=album:Jazz At The Philharmonic   Disc 1
Arg[12]=album_id:100    Arg[13]=album:Jazz At The Philharmonic   Disc 10
Arg[14]=genres_count:7    Arg[15]=genre_id:41
Arg[16]=genre:General Jazz    Arg[17]=genre_id:20
Arg[18]=genre:Jazz    Arg[19]=genre_id:60
Arg[20]=genre:Jazz+Funk    Arg[21]=tracks_count:0
^^^doCaseSearch: items=38, total count=19, List length=14
SEND: search 4 2 term:jazz
RCVD: timers=1/20/0, size=476 search 4 2 term%3Ajazz count%3A19 contributors_count%3A1 contributor
doCaseSearch, input=4,2,term:jazz,count:19,contributors_count:1,contributor_id:91,contributor:Jazz
doCaseSearch   Array Length=22
Arg[0]=4    Arg[1]=2
Arg[2]=term:jazz    Arg[3]=count:19
Arg[4]=contributors_count:1    Arg[5]=contributor_id:91
Arg[6]=contributor:Jazz At The Philharmonic    Arg[7]=albums_count:11
Arg[8]=album_id:99    Arg[9]=album:Jazz at the Olympic - disc 6
Arg[10]=album_id:97    Arg[11]=album:Jazz At The Philharmonic   Disc 1
Arg[12]=album_id:100    Arg[13]=album:Jazz At The Philharmonic   Disc 10
Arg[14]=genres_count:7    Arg[15]=genre_id:41
Arg[16]=genre:General Jazz    Arg[17]=genre_id:20
Arg[18]=genre:Jazz    Arg[19]=genre_id:60
Arg[20]=genre:Jazz+Funk    Arg[21]=tracks_count:0
^^^doCaseSearch: items=57, total count=19, List length=21
PrintSearchList: Length=21, Total=19, Artists=3, Albums=33, Genres=21, tracks=0
searchListItem: Index=20
searchList: index=20, Title=Jazz+Funk, Type=Genre, ID=60
searchListItem: Index=19
searchList: index=19, Title=Jazz, Type=Genre, ID=20
searchListItem: Index=18
searchList: index=18, Title=General Jazz, Type=Genre, ID=41
searchListItem: Index=17
searchList: index=17, Title=Jazz At The Philharmonic   Disc 10, Type=Album, ID=100
searchListItem: Index=16
searchList: index=16, Title=Jazz At The Philharmonic   Disc 1, Type=Album, ID=97
searchListItem: Index=15
searchList: index=15, Title=Jazz at the Olympic - disc 6, Type=Album, ID=99
searchListItem: Index=14
searchList: index=14, Title=Jazz At The Philharmonic, Type=Artist, ID=91
searchListItem: Index=13
searchList: index=13, Title=Jazz+Funk, Type=Genre, ID=60
searchListItem: Index=12
searchList: index=12, Title=Jazz, Type=Genre, ID=20
searchListItem: Index=11
searchList: index=11, Title=General Jazz, Type=Genre, ID=41
searchListItem: Index=10
searchList: index=10, Title=Jazz At The Philharmonic   Disc 10, Type=Album, ID=100
searchListItem: Index=9
searchList: index=9, Title=Jazz At The Philharmonic   Disc 1, Type=Album, ID=97
searchListItem: Index=8
searchList: index=8, Title=Jazz at the Olympic - disc 6, Type=Album, ID=99
searchListItem: Index=7
searchList: index=7, Title=Jazz At The Philharmonic, Type=Artist, ID=91
searchListItem: Index=6
searchList: index=6, Title=Jazz+Funk, Type=Genre, ID=60
searchListItem: Index=5
searchList: index=5, Title=Jazz, Type=Genre, ID=20
searchListItem: Index=4
searchList: index=4, Title=General Jazz, Type=Genre, ID=41
searchListItem: Index=3
searchList: index=3, Title=Jazz At The Philharmonic   Disc 10, Type=Album, ID=100
searchListItem: Index=2
searchList: index=2, Title=Jazz At The Philharmonic   Disc 1, Type=Album, ID=97
searchListItem: Index=1
searchList: index=1, Title=Jazz at the Olympic - disc 6, Type=Album, ID=99
searchListItem: Index=0
searchList: index=0, Title=Jazz At The Philharmonic, Type=Artist, ID=91
********BasicLoop:Done TCPIP Caller=doLibrarySearch, Timer=-1

********SSsearch Return: input =SearchDone
doSearchDone:
Comment 1 Michael Herger 2008-04-02 09:31:48 UTC
Barry - could you please provide me with the server.log file and an exact sequence of commands you use to reproduce this issue? I'd like to be sure we're not running into an issue in your application's logging ;-) Thanks!
Comment 2 Barry Gordon 2008-04-02 11:18:03 UTC
I have tried it with at least two different independent apps and always get back the same result; however I will be glad to send you a server log if you tell me how to make one, or where such info is.  I see a server.log file in the logs folder but its last modification data was november 2007

Don't you guys a gave a nice standalone PC app that hits the server with any string you type and accurately records the response??  Do you want one? I have several!
Comment 3 Michael Herger 2008-04-02 13:20:05 UTC
> Don't you guys a gave a nice standalone PC app that hits the server with any
> string you type and accurately records the response??

I have one which does work perfectly well: telnet :-). I usually just "telnet localhost 9090", enter the commands and grab all the output. It's all I need.
Comment 4 Barry Gordon 2008-04-02 13:53:33 UTC
Okay, so why not just telnet 9090 send in 'search 0 2 term:jazz' assuming your collection has some jazz and see what come back?  then try 'search 0 200 term:jazz'.  substitute anything your collection has a lot of (rock punk, country, classical...) and I think it will become immediatly evident.  

I am 99.99% positive that my logger is really showing me what is received, and editing it faithfully so I do not have to search through the morass of stuff.

Also note that the start point 0, 2 etc, has no bearing as it makes little sense (IMHO) on a search.  Basically I think all that is needed is a documentation cleanup.  I am able to implement a very nice search system on the client with what is provided.
Comment 5 Michael Herger 2008-04-02 14:22:55 UTC
Ok, with that simple example I can confirm the search is broken. But it's not as bad as it first seemed. 

Input:
index: ignored (broken)
quantity: respected, but off by one (broken: should be zero based)

Output
count: returns the total number of matches in all category (correct)
*_count: retrurn the total number of matches per category (correct)
item loop: one result too much is returned, as the quantity is not converted to zero based value; always returns a maximum of the _first_ quantity+1 matches, as index is ignored (broken)
Comment 6 Barry Gordon 2008-04-02 15:00:15 UTC
Thank You michael.  All my examples are simple, there is generally a lot of output in an effort for me to understand what is going on.  I know I will receive a document when it is fixed.  What about Genre?  The CLI doc only talks about artist album and track.  genre is nice, leave it in!

Comment 7 Michael Herger 2008-04-03 07:57:21 UTC
change 18333 - thanks!
Comment 8 James Richardson 2008-05-09 16:08:23 UTC
(In reply to comment #7)
> change 18333 - thanks!
> 

Closing this bug for now, Barry please reopen the bug if you find it's not fixed for you.
Comment 9 Chris Owens 2009-07-31 10:18:54 UTC
Reduce number of active targets for SC