View Issue Details

IDProjectCategoryView StatusLast Update
0019430MMW 5Install/Configpublic2022-10-10 12:39
Reporterpeke Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status feedbackResolutionreopened 
Product Version5.0 
Target Version5.2 
Summary0019430: Search: There is few options missing in search options
DescriptionThere is few options cases missing in search options

1. "Respect diacritics / Match beginning of words"

2. "Ignore diacritics / Match within words"
Additional Informationhttps://www.mediamonkey.com/forum/viewtopic.php?p=501552#p501552
TagsNo tags attached.
Fixed in build

Relationships

related to 0016453 feedbackpeke Full text Search: may not return all search results 
related to 0019436 closedLudek Quoted search do not work correctly. 

Activities

peke

2022-10-06 19:23

developer   ~0069674

Based on my tests and DB (from FTP).

Looks like problem is with quotes.
First limited search to Artist, Title, Album, Album Artist, Genre.

When I search [Riblja Čorba] then I get correct results.

But if I Search ["Riblja Čorba"] then I get no results even Artist is exact match.

More info in topic post https://www.mediamonkey.com/forum/viewtopic.php?p=501584#p501584

Ludek

2022-10-07 10:59

developer   ~0069686

Last edited: 2022-10-07 11:01

To explain how it currently works:
Option "Ignore diacritics/ Match beginning of words" is how SQLite's full-text-search engine works,
i.e. it uses prefix tokens in it's tokenizer (more at https://www.sqlite.org/fts5.html )
so it is indexed in the way that you can use 'pus' token to find "Pušenje" , but you can't use 'us' token to find "Pušenje" (it finds just "ušenje")

Searchring using the indexed tokens are faster therefore we have the default option:
"Ignore diacritics/ Match beginning of words (faster)"

But for the users (mainly usable on oriantel languages like Japanse, Chinesse) we introduced
"Respect diacritics / Match within words"
that doesn't use FTS at all and uses simply SQL 'LIKE' operator ( https://www.w3schools.com/sql/sql_like.asp )
i.e. it can find exact match within word, but can't ignore diacritics and is slower.

Introducing "Ignore diacritics / Match within words" is technicaly not an easy task and would require replacement of our full text search indexing engine + blows up the DB size.
I would very like to avoid this complex change unless it is really necessary for some reason.

In addition I agree with Rusty that almost no other software has the type of search settings that MM has re. diacritics / whole words / etc. the reason being that it's more complex than most users are willing able to deal with. Therefore I am resolving this as "no change required" , can be re-opened, but not as 5.0.4 item and certainly with a lower priority.

peke

2022-10-07 11:43

developer   ~0069692

Searching 'cor' with setting "Respect diacritics / Match within words" will find album 'the last unicorn' but will not Find 'Riblja Čorba' Artist due the Respect diacritics.

Same will go if you put your own name as artist like 'DJLuděk' and search 'Ludek'. It is very very useful even it just uses LIKE.

barrym

2022-10-09 10:41

updater   ~0069715

I think that issue was that the area seemed unnecessarily complex by using inconsistent wording
ie. Match Beginning of words
vs Match within words

Thanks Ludek. I understand the reason for that now.
The "respect diacritics" option *is* different. It is more powerful, although it is bit slower