Search: allow to find exact matches, like title:="Nice"

Bug #1967667 reported by geozubuntu
4
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Low
Unassigned

Bug Description

OS Linux Mint 20.3 Una (based on Focal Fossa) x64
Mixxx 2.4-alpha-1132-g6de81c8994 (main) with a very big library.

Try to locate a single word track title in library using the search function and will be disappointed.

I would like to find all versions of a song with the title Evil in my library. Not every track containing the word evil in its title but only those which their title is EVIL. I found out that it is almost impossible with the current implementation of search function of Mixxx.

I tried to write in search field the following:

𝐄𝐯𝐒π₯ returned thousands of titles containing the 𝐬𝐭𝐫𝐒𝐧𝐠 ..evil.. anywhere i.e Evil's or Devil or Neville or Sevilla, and the 𝐰𝐨𝐫𝐝 Evil like ..the Evil prince.. which is normal and expected.

"𝐄𝐯𝐒π₯" returned the same as above (even if I am not 100% sure since there isn't a counter to know how many results each search returned, (I will submit another (bug) wish for this) but also thousands of titles containing the 𝐬𝐭𝐫𝐒𝐧𝐠 ..evil.. anywhere (I suppose it isn't normal since I used quotes and mixxx should at least exclude words as Devil or Sevilla returning ..Evil eye.. or .. Evil woman .. or any title containing the 𝐰𝐨𝐫𝐝 Evil)

" 𝐄𝐯𝐒π₯" (leading space), "𝐄𝐯𝐒π₯ " (trailing space), " 𝐄𝐯𝐒π₯ " (leading and trailing spaces) much less results but again hundreds, if not thousands of tracks containing this string anywhere. I can't tell if there is a difference (no counter to say how many).

𝐭𝐒𝐭π₯𝐞:𝐄𝐯𝐒π₯ and 𝐭𝐒𝐭π₯𝐞:"𝐄𝐯𝐒π₯" returned much less results since it looks only in title column but also everything containing the 𝐬𝐭𝐫𝐒𝐧𝐠 ..evil.. i.e Devil, evil woman, evil ways, Sevilla etc. etc. hundreds of tracks, no counter to say which one returned more.

𝐭𝐒𝐭π₯𝐞:"𝐄𝐯𝐒π₯ and 𝐭𝐒𝐭π₯𝐞:𝐄𝐯𝐒π₯" returned nothing at all which was expected (probably invalid filter since quotes wasn't closed in both cases)

I couldn't find any combination to have only the tracks with the title "Evil" in the library view.πŸ™

So I was unable to find the tracks with the title "Evil". I figured out that I have 8 tracks with this single word title Evil after sorting the title by clicking on the title and then scroll down to letter E so they were all sorted together. But it is a workaround in my opinion.

So a revision of the search function should be done to address this situation.
Think that you like to find all covers of a song for a show or a podcast...

Thanks in advance

Revision history for this message
ronso0 (ronso0) wrote :

What about
title:evil
and sort by title (clicking the column header). Doesn't "Evil" show up at the top/bottom?

Revision history for this message
geozubuntu (geozubuntu) wrote :

@ ronsoO Unfortunately not at the top or bottom. As I wrote, by sorting the title they appear somewhere in between some hundred others in the starting letter series. For evil it is like:
.....
.....
.....
A Touch of Evil
And The Devil Cried
Axis Of Evil
Bad Meets Evil
Before The Devil Knows
....
....
....
Better The Devil You Know
Can't Kill the Devil
Career of Evil
Chase The Devil
....
....
....
Devils Playpen
Don't You Lie to Me (I Get Evil)
dream evil
Evil
Evil
Evil
Evil
Evil
Evil
Evil
Evil
Evil Dildo (hidden track)
Evil Eye
Evil Eye
Evil Eye
Evil Eyes
Evil Fantasies
......
......
Fire Devil
Friend of the Devil
....
....

Which is a workaround in my opinion. Difficult to scroll if you have some hundreds of titles containing evil.

Anyway, thanks for your time

Revision history for this message
ronso0 (ronso0) wrote :

Okay, so sort by title, focus a title cell, press "e".
That *should* bring you to first title starting with (or last, depending on your current position in the table).

Still just a workaround if you look for that word at the beginning of the title string.

ronso0 (ronso0)
summary: - search fails to find single word track title
+ Search: allow to find exact matches, like title:="Nice"
Changed in mixxx:
status: New → Confirmed
importance: Undecided → Low
Revision history for this message
Daniel SchΓΌrmann (daschuer) wrote :

When you start searching the first time what was your expectation?
What is your prefered syntax to support all your searching use cases?

Revision history for this message
geozubuntu (geozubuntu) wrote :

Hello Daniel

I think the syntax title:"" which returns the empty title tracks is very useful and a correct approach.
With this in mind and thinking the double quotes as a container for searching the exact string inside, my expectation the first time I started to search was to locate the exact phrase contained in them. If it was one word I expected to have only this word in any field. If it was 2 words to have these exact 2 words, if I would like to have more titles containing those one or 2 or 3 words I shouldn't use the quotes but write the words without quotes. Of course manual writes use " for two word searches but I thought for the exact two words.

I think that my preferred syntax would use a placeholder like * which could add versatility and would be very helpful for extensive searches in very big libraries where is difficult to remember the exact titles of all tracks.
something like *nice could return Venice, Ask for Janice or slice me nice e.t.c

Thanks again
George

Revision history for this message
Daniel SchΓΌrmann (daschuer) wrote :

That sounds reasonable. However there is an issue is with the two word search.

For instance [...Baby One More Time]
With [Baby One] I have 50 results
With ["Baby One"] I have only one results.
When we implement that as exact match I would have none.
I guess I cannot remember the leading dots so I will never have a hit.

Will it be a solution for you to search only for entire titles when the string in quotes has no space?

Revision history for this message
ronso0 (ronso0) wrote :

Currently, these two yield the same results
title:yeah
title:=yeah

What about
title:yeah what > title contains 'yeah' and 'what', ignore order
title:"yeah what" > title contains 'yeah what'
title="yeah what" > title is exactly 'yeah what'

All queries would ignore case and allow pre-appending punctuation (or any character that is not a letter and not a number)

Revision history for this message
geozubuntu (geozubuntu) wrote :

ronso0 hello.

Sorry but for me with 2.4-alpha-1132 and 2.4-alpha-1139 on Linux mint 20.3 (focal fossa)

title:yeah returns whatever contains yeah in any place in the title, word or string.
but
title:=yeah returns nothing at all as well as
title=:yeah or
title=yeah

Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/10699

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.