[Bug 281855] New: software manager: allow for "contains words" searching
https://bugzilla.novell.com/show_bug.cgi?id=281855 Summary: software manager: allow for "contains words" searching Product: openSUSE 10.2 Version: Final Platform: i586 OS/Version: Other Status: NEW Severity: Enhancement Priority: P5 - None Component: YaST2 AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: bluedzins@wp.pl QAContact: jsrain@novell.com ..either by providing such explicit mode, or by reinterpreting text in "contains" mode -- phrase would be denoted by "two words" but words would be entered as two words and it would be equivalent to: words two Personally I like the second way more. It is fast and quite natural. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 chrubis@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bnc-team- |lslezak@novell.com |screening@forge.provo.novell| |.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 lslezak@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kmachalkova@novell.com, mmeeks@novell.com AssignedTo|lslezak@novell.com |sh@novell.com ------- Comment #1 from lslezak@novell.com 2007-06-08 06:12 MST ------- The search functionality is part of the respective UI... (Another example for common UI library for libzypp?) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 sh@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from sh@novell.com 2007-06-11 03:57 MST ------- You can do that with regular expressions. Qt's regexps are quite powerful: http://doc.trolltech.com/3.3/qregexp.html#1-1 "\w This matches a word character (QChar::isLetterOrNumber() or '_'). \W This matches a non-word character." -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 ------- Comment #3 from mmeeks@novell.com 2007-06-11 04:28 MST ------- /me wonders if this was a yast2-gtk bug though ? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 bluedzins@wp.pl changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | ------- Comment #4 from bluedzins@wp.pl 2007-06-11 04:38 MST ------- Michael, I didn't post a bug report, but a wish report, and for yast2, since SM is part of it. Stefan, I know that there is something like regexp, but: a) you have to know regexps in advance b) regexps, powerful, but not every natural query is described by "natural" regexp ad.b) this is the case -- so how regular user can manage query SM database? If you are not convinced please show your version of original query described by _one_ regexp (it is "trivial" when using two regexps). ad.b) I opt for giving user most typical query mechanism in most comfortable way, otherwise it could be argued that this "contains" option should be removed because it could be expressed via regexp as well. So... reopening. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 rpmcruz@alunos.dcc.fc.up.pt changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rpmcruz@alunos.dcc.fc.up.pt ------- Comment #5 from rpmcruz@alunos.dcc.fc.up.pt 2007-06-11 05:33 MST ------- With regard to yast-gtk, it has this feature, but in its most basic form. "python gtk" will use "python" and "gtk" as the search criteria, so you get Python bindings of GTK. The idea was to allow for Google syntax, which is pretty intuitive. So, you could do stuff like: "kde OR (gnome -gtk)". And, if you want to search for a phrase, you could just use the quotes in the search string. If we implement this, I will send a post here. Regexp isn't supported; maybe when Glib ships with supports for it. For yast-qt, I would suggest, as an initial fix, to have a help page on regexp. Just with examples of the most common cases. You could use a little button with a help icon that opens a small tool tip window or something... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 ------- Comment #6 from sh@novell.com 2007-06-11 05:37 MST ------- Of course regexps can't do everything. But they can do a lot more than most people think. Your example above could be written like this: ((sound|advanced).*){2} This finds: "alsa -- Advanced Linux Sound Architecture" "alsa-debuginfo -- Advanced Linux Sound Architecture" It does NOT find packages with only "sound" or only "advanced". Also please note that the word order in the summaries is different than in the search specification (searched for "sound|advanced", found "Advanced...Sound"). Granted, this regexp is not a trivial one. But it does its job, which should be plenty given the number of users who ever requested such a feature (which is one: you). Yes, if users want nonstandard things they'll sometimes need to cope with advanced tools. Regular expressions are such a tool. And in that particular case, you even get the advanced version: Qt regexps offer about as much as "egrep", not just the very limited version that "grep" (without "e") provides. Taking apart the above regexp for clarification: (sound|advanced) finds any of "sound" or "advanced". This will find more than you want; you want results that contain more than just one of those words. (xxx){2} finds 2 occurences of the expression in parentheses. It finds exactly 2; you could write {2,} for 2 or more or {,2} for no more than 2 or {1,2} for 1 or 2. You might know (xxx)* or (xxx)+ which will find any number (including 0) or any number, at least one, respectively. That are just shorthands to (xxx)* -> (xxx){0,} (xxx)+ -> (xxx){1,} The general form is (xxx){min,max} where "min" is 0, if omitted, and "max" is "infinity", if omitted. This regexp has one caveat: It will also find results that have the same word more than once. It's not absolutely perfect, but it does its job. This part of the bug report is FIXED (or it might be called INVALID because it's not a bug). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 sh@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |FIXED ------- Comment #7 from sh@novell.com 2007-06-11 05:38 MST ------- With regard to new search modes, this would be WONTFIX: We have a number of search modes, and there are those who already complain that they are too many. Also, we offer what the underlying tools easily provide, which is QRegExp in this case. If QRegExp can't do it, we won't invest considerable manpower to implement it. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 ------- Comment #8 from bluedzins@wp.pl 2007-06-11 05:49 MST ------- Stefan,
Your example above could be written like this: ((sound|advanced).*){2}
No, it will match sound x sound Still, you didn't give solution how to express _simple_ query using regexp, and regular user is supposed to do it? Btw. thanks for regexp explanation but I am familiar with it.
If QRegExp can't do it, we won't invest considerable manpower to implement it.
Yes, single regexp cannot do this (afaik), several regexps -- can.
With regard to new search modes, this would be WONTFIX:
And nobody will be able to search for simple things. I don't understand such decision -- I am not opting for another mode, but enhancing current one. Using several regexps under the hood -- that's all. Forcing user to manually crawl through the output to find out the second part of the query... people doing computer job :-) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 ------- Comment #9 from mmeeks@novell.com 2007-06-11 06:01 MST ------- Hi Maciej - in the gtk+ selector I just added some -very- simple code to make this easier for users; you can use: "yast OR print", or "yast AND print" (the default). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 ------- Comment #10 from sh@novell.com 2007-06-11 06:05 MST ------- I think what you really want is the "keyword" feature (a separate filter view in the package selector) we are already preparing. The rough idea is to provide a number of (predefined!) keywords for each package from which the user can select, like [ ] mail client [ ] mail server [ ] console [ ] graphical [ ] GNOME [ ] KDE Search modes would be "match all" or "match any". The operational word here is "predefined" - very much like in the KDE control center's search facility. Most users have only a very vague idea what that thing is they are searching, and providing hints like those predefined keywords makes searching so much easier. Of course there would also be a "Search" field above the keywords so users who know what they are searching could narrow down the list easily. But that's something very different from the free text search we already have in the package selector. Free text search very often results in what I call the "Google problem": You get 0 or 30,000,000 hits, none of which is what you want. You need to have a pretty good initial idea of what terms to search for to make this successful. That's why we want to use predefined keywords. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=281855 ------- Comment #11 from bluedzins@wp.pl 2007-06-11 08:13 MST ------- Stefan, what I need is an easy way to search for "java ide" for example :-) Text search is sufficient for such problem. What Micheal just described it is powerful yet easy to use solution with not a lot of effort redesigning whole SM. Btw. Stefan, please change the resolution from fixed to wontfix :-) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com