|
|
Welcome to the Invelos forums. Please read the forum
rules before posting.
Read access to our public forums is open to everyone. To post messages, a free
registration is required.
If you have an Invelos account, sign in to post.
|
|
|
|
Invelos Forums->DVD Profiler: Plugins |
Page:
1 Previous Next
|
DpSuperSearch |
|
|
|
Author |
Message |
Registered: March 14, 2007 | Reputation: | Posts: 4,686 |
| Posted: | | | | I started out a very ambitious project for searching overviews. Initially I was hoping to achieve some kind of "smart" search, a little bit like Google searches, although not nearly as advanced. I was experimenting with various fuzzy logic algorithms, but soon realized that I just could not get any useful results that way. It would require advanced artificial intelligence that is way beyond the capabilities of a simple Windows program. I was just a smidge disappointed, but not really surprised. So I took a step down in ambition and decided to create a more normal search, but with some capabilities that the ordinary search in DVD Profiler doesn't offer. The name I had given the project, DpSuperSearch now sounded a tad presumptuous, but I was too lazy to change it. So, here is what a search can look like. The first column shows how many of the search arguments that were found. The second shows total number of hits. The right pane shows the overview with the hits underlined. Under Options in the menu you will find "Full words only". If you check that menu item you will only get hits for ... you guessed it - full words. There are a couple of search tricks that are, for now, undocumented (since there is no help file at this stage): * Use underline instead of space to make two (or more) words be treated as one single search argument. So "King_Kong" will not find "King" or "Kong" alone, but only "King Kong". * The search is partially based on Regex, so if you're familiar with that, you may experiment with what works and what does not. I'm no Regex expert, but I know this: - A period will match any character. So a search for "Kong." will match both "Kong " and "Konga", for example. - If you don't check "Full words only", you can still force full word search for one or more search argument by enclosing them in "\b". So "\bKong\b Gorilla" will force a full word search for "Kong", but match any string that contains "Gorilla". Note that the searches are always case insensitive. At the moment I haven't created a web page for DpSuperSearch. That may come later. For now, this is a direct link to the DpSuperSearch 1.0.1 zip file. If you find this program (or indeed any of my programs) useful, just a word of encouragement would go a long way towards keeping me motivated to continue. | | | My freeware tools for DVD Profiler users. Gunnar | | | Last edited: by GSyren |
| Registered: March 14, 2007 | Reputation: | Posts: 4,686 |
| | Registered: March 18, 2007 | Reputation: | Posts: 6,463 |
| Posted: | | | | Hey that seems like fun. In case you haven't tried it, there are code libraries out there for "Soundex" and similar algorithmic search methods. If you haven't tried them, maybe more fun to be had? Maybe another would be a Regex option? | | | Thanks for your support. Free Plugins available here. Advanced plugins available here. Hey, new product!!! BDPFrog. | | | Last edited: by mediadogg |
| Registered: March 14, 2007 | Reputation: | Posts: 4,686 |
| Posted: | | | | Yeah, I did download and test a number of code libraries from NuGet. I just never got any results that seemed worthwhile.
As regards Soundex, I actually never bothered to try that. One of my biggest professional jobs was the development of an advanced telephone switchboard application. It included phonetic name search. I did some research on the subject and ended up writing a Soundex algorithm that was modified to work well with Swedish names. And of course that's where Soundex shines; in "sounds like" searches. So if you search for "Anderson", you'll find Andersson, Anderzohn and a number of other variants. So I knew quite well what Soundex was good for, and it wasn't the type of search I was interested in.
The search here is done word by word through the search arguments. For each argument I use Regex.Matches against the overview. I never bothered to really learn Regex, but I assume that much of the Regex syntax would work, on an argument by argument basis. If you or anyone else care to experiment with it, I welcome any Regex search tips that work within DpSuperSearch! | | | My freeware tools for DVD Profiler users. Gunnar | | | Last edited: by GSyren |
| Registered: March 18, 2007 | Reputation: | Posts: 6,463 |
| Posted: | | | | Seems like you've covered the bases! | | | Thanks for your support. Free Plugins available here. Advanced plugins available here. Hey, new product!!! BDPFrog. |
| Registered: March 14, 2007 | Reputation: | Posts: 4,686 |
| Posted: | | | | Another bug found and removed. Get version 1.0.2! A note on performance:This program does searches a bit differently from my other programs. Because of the way this project started, I decided not to use my trusted ProfilerData.dll that loads the entire export file into memory. Instead the export file is read from start to end for each search. I could have changed this when I changed my mind on doing fuzzy searches, but it didn't seem worth the effort. A search of 8000+ profiles on my machine takes between 3 and 4 seconds depending on the number of search arguments, and that seemed good enough to me. | | | My freeware tools for DVD Profiler users. Gunnar | | | Last edited: by GSyren |
| Registered: March 14, 2007 | Reputation: | Posts: 4,686 |
| Posted: | | | | Bad news, good news.The bad news is that in fixing the really ugly bug I created another bug. The good new is that it's a much friendlier bug. They both had raised their ugly heads if you selected search words where one word was the start of the other, for example "All Allowed". Fortunately not a common scenario. The old bug would hit once for every profile in your export file. So unless you fancied clicking OK as many times as you had profiles, the only way out was to shoot the program down with the Task Manager. Ugh! The minor bug that was introduced was that if you had the shorter search argument first, then only that part would be underlined, for example " Allowed". The intended result was that the longer hit should be underlined, e.g. " Allowed". Either way there is no way to determine that there are two search arguments involved in the same hit. But the latter way was the way I intended. So that's how it now works. I guess it would be possible to underline the double hit part in another color, but that's a whole lot more complicated, and really not warranted in my opinion. Another good news (perhaps) is that I have now created a download page for DpSuperSearch. No more links directly from here to the zip file. So follow me now to DpSuperSearch 1.0.3! | | | My freeware tools for DVD Profiler users. Gunnar |
| Registered: March 14, 2007 | Reputation: | Posts: 4,686 |
| Posted: | | | | Oh dear! Me and my big mouth (or whatever the equivalent is for writing). Quote: that's a whole lot more complicated, and really not warranted in my opinion. I shouldn't even have "thunk" the thought! The guy with the pitchfork started needling me. - You can't do it, can you? - Sure I can, but ... - Nah, you're all talk! - I really can do it! - Well, then prove it! And before you could say Jack Robinson I was deep entangled in code for a feature that nobody had asked for. It wasn't all for nothing, though. I did spot a small cosmetic error that I could fix at the same time. Probably one that noone would have noticed. Anyway, here is the result: You will, of course, not get this if you use Full words only. Otherwise, any string that matches 2 or more search arguments will be underline in red. I call this monster DpSuperSearch 1.1.0. Which would be the better Christmas present; this update, a tie with a Christmas motif, or a bad pun? Well, I guess it's a tie. MERRY CHRISTMAS AND A HAPPY NEW YEAR, EVERYBODY! | | | My freeware tools for DVD Profiler users. Gunnar | | | Last edited: by GSyren |
| Registered: June 2, 2009 | Reputation: | Posts: 305 |
| Posted: | | | | Many thanks, Gunnar. Have to try it out. Greenie on your way |
| Registered: March 14, 2007 | Reputation: | Posts: 4,686 |
| Posted: | | | | Oh dear! Fix a bug, add a feature, create a new bug. He made me do it: I think I may have pissed him off by calling his trident a pitchfork. I promise I won't make that mistake again! I don't think anyone noticed it, but the NumHits were off. That's fixed now. And, of course, while I had Visual Studio fired up I couldn't resist adding a few new features: - Prefix a search argument with a plus sign, and this becomes a must-match argument. - Prefix a search argument with a minus sign, and this becomes a must-not-match argument. So if you enter +kong -king godzilla you get all overviews that contain "kong", with or without "godzilla" but not containing "king". A plus sign alone matches all overviews, so + -kong would match all overviews that don't contain "kong". Not sure how that would be useful, but that's just how it happens to work, in case you ever need it. (Notice that there must be a blank between the plus sign and the following argument.) Another little addition is Ctrl-b. If you want to surround a search argument with \b to make it a full word only argument, just hit Ctrl-b while the cursor is in that word. If the cursor is in a word that is surrounded by \b, Ctrl-b will remove those. All this addes up to DpSuperSearch 1.2.0. Hopefully my friend with the pitch... eh, trident, hasn't made me create any more bugs, so I can rest easy for the remaining holidays. But who knows ... | | | My freeware tools for DVD Profiler users. Gunnar |
| Registered: March 14, 2007 | Reputation: | Posts: 4,686 |
| Posted: | | | | Oh, I almost forgot to mention. There is a bit of an anomaly when you use \b for fullword search. The search works as it should, but the overview will also underline any partial matches. This has been the case since the first version, but I didn't notice it until recently. That may or may not be fixed next year. Gee, I hope my tridented friend doesn't realize that anomaly is just another word for b-u-g. | | | My freeware tools for DVD Profiler users. Gunnar |
| Registered: March 14, 2007 | Reputation: | Posts: 4,686 |
| Posted: | | | | Happy New Year to all DpSuperSearchers! Let me tell you a true story! "Aren't all your stories true?" I hear you ask. Well, of course. Absolutely. Totally. 100%. Sort of. Except possibly when someone jabs a trident into the side of my neck. Anyway, I just got my first practical use for DpSuperSearch. I had one of those flashbacks where you remember one or two scenes from a movie, but you can't for the life of you remember what movie it was, and it's driving you crazy. What I knew was that it was a cop movie, and it ended with a long car chase on the beach. It felt like it may have taken place in San Francisco. So I fired up DpSuperSearch and entered: +san_francisco cop police detectiveI got quite a lot of hits. I found several profiles of The Streets of San Francisco and Ironside. But number 3 among the result was the movie I was looking for, McQ with John Wayne. Ah, mystery solved! And that could have been the end of that. But ... I though to myself that this would have been a much cleaner search if I could have eliminated TV shows from the search. So I contemplated adding an "Exclude Television genre" option. But, being a fair minded fellow, I felt that this would be unfair to the other genres. I wouldn't want them to feel discriminated. So I added all the genres to the Exclude options. Then I thought "Why Exclude rather than Include?" After all, include everything but Television is the same as exclude Television, right? But after mulling that one over for a bit, I realized that no, it's not the same thing. So I added Include option as well: DpSuperSearch 2020 No, it's actually named DpSuperSearch 1.3.0, but I thought 2020 made for a good headline today. And if you wonder why Exclude and Include aren't opposites, the explanation is in the Help file. PS. There is other useful info in the Help file. Take a moment to read it! PPS. I fixed that anomaly as well. | | | My freeware tools for DVD Profiler users. Gunnar |
|
|
Invelos Forums->DVD Profiler: Plugins |
Page:
1 Previous Next
|
|
|
|
|
|
|
|
|