View Issue Details

IDProjectCategoryView StatusLast Update
0005279MMW v4Playlist / Searchpublic2009-02-19 21:30
Reporterrusty Assigned To 
PriorityimmediateSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version3.1 
Target Version3.1Fixed in Version3.1 
Summary0005279: Search bar: incorrect results when multiple boolean operators are used
DescriptionI noticed some strange behavior wrt searches (tested in the search bar). I'm not sure if these are all bugs, but I don't understand the logic:

Following queries worked as expected:
love --> 275 tracks (OK)
me --> 272 tracks (OK)
love me --> 30 tracks (OK)
love OR me --> 517 tracks (OK)

BUT:
a) love OR me OR --> tracklist is shortened to 275 tracks until another search term is entered!

b) love OR me -blahbloo --> 275 tracks! I guess mm is considering this as:
 love OR (me -blahbloo)
but shouldn't it be:
 love OR me -blahbloo

c) -blahbloo love OR me --> 272 tracks!

d) -blahbloo OR love OR me --> "there was a problem querying the db"

e) -blahbloo --> no tracks. Shouldn't it yield the entire collection?
TagsNo tags attached.
Fixed in build1223

Activities

Ludek

2009-02-08 00:31

developer   ~0016592

Yes, thank you.

I have reviewed how SQLite's FTS3 works and you are right in several aspects.

FTS3 interprets "A OR B C OR D" as
(A or B) and (C or D)

I fixed everything in build 1222, i.e.:

a) love OR me OR --> tracklist is shortened to 275 tracks until another search term is entered!

-FIXED

b) love OR me -blahbloo --> 275 tracks! I guess mm is considering this as:
 love OR (me -blahbloo)
but shouldn't it be:
 love OR me -blahbloo

-FIXED, it should be love OR me -blahbloo, i.e.:
(love or me) and not blahbloo

c) -blahbloo love OR me --> 272 tracks!

-FIXED, same results as b), i.e.
not blahbloo and (love or me)


d) -blahbloo OR love OR me --> "there was a problem querying the db"

-FIXED, not blahbloo or love or me

e) -blahbloo --> no tracks. Shouldn't it yield the entire collection?

- based on SQLite's FTS3 there must be at least one non excluded term (query must contain at least one non-excluded term), so this is ok

rusty

2009-02-12 17:04

administrator   ~0016646

Tested 1222 and there still seems to be a problem for the following case:
Genre:Rock OR Audiobook seems to return only Genre=Rock--the 'Audiobook' seems to have no effect.

It should probably return:

(Genre:Rock) OR Audiobook

Ludek

2009-02-12 21:11

developer   ~0016650

Fixed in build 1223.

stephen_platt

2009-02-19 21:30

developer   ~0016688

verified 1223