ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

News and Reviews > Mini-Reviews by Members

NoteFrog Pro (clipboard information manager) - Mini-Review

<< < (8/27) > >>

I think I agree, though I don't have much data in NoteFrog yet.  I'd still like to see the Search Control Area made more prominent.  Eventually I'd like to see more advanced Boolean searching, something of this kind:

Find:  (paper OR clip OR paperclip) AND (pen OR pencil) NOT (nuggan or nugganite)

That might become more valuable with bigger datasets.
-rjbull (January 08, 2012, 11:50 AM)
--- End quote ---

Do you recall when I wrote in the thread above that I had suggested that the FAQ be included in the default stack (database) for NF?
Well, by that time I had already copied all the FAQ into my main stack.
So, in order to find a documented answer to your Q, I did this:

* typed in "search" to the search field box
* pressed "Enter"
* typed in "notefrog" to the search field box
* pressed "enter"This was the result:

Scrolling through the FAQ item, I quickly found the answer to your Q: (see "Q: How do I do compound (AND) searches?")
SpoilerQ: How do I use the NoteFrog™ Super Search?
Search Controls
The Search Control Area at the top left is the NoteFrog™ heart and soul and provides the instant search result interface.

Simple Searches
Type your search string into the top box.
As you type, the count shown in the small box will update to show the total number of notes which match your search criteria.
If you make a typing error just backspace.
As you type, the Item List Window at the bottom left will be updating to include only those notes which contain your search string, and the body of the top note from that ever-decreasing list will be displayed in the Item Window at the right.
If you type a search string that does not exist in any of the notes of your stack, NoteFrog™ will sound an audible beep and backspace the string to the last match that was the found on any note in the stack.
Once your notes have decreased to a reasonable number, you can identify your note and select it for display in the large window, or simply cursor down the items on the left to show all that contain your search terms.
TIP To see all matches for your current search string in a particular item, press the F3 Function Key to scroll to each of the matches, one at a time.

Clearing the Search
You may clear the search and return to the entire stack of notes at any time by clicking on the "Refresh" button or by hitting the keyboard escape key [Esc].
Repeating the last search
The "Repeat Last Search" button allows fast return for activities requiring repetitive access to a matching subset of items.

Match Case: Case sensitive searches
Normally you will conduct most searches as case insensitive, largely because the speed of the NoteFrog™ search makes doing case sensitive searches unnecessary. However, case-sensitive search is an option. In case-sensitive mode, notes must contain a character string that exactly matches the upper/lower case that you type into the search string. For example, an a does not match an A, and an A does not match an a. On the other hand, in case-insensitive searches, the case of both the input and the matching string are irrelevant, only the letter itself matters.
To illustrate, in the normal case-insensitive search, typing the the string
would find all notes containing the strings
Tom, atom,Tomato and stomp.
If you specifically wanted to find notes about your friend Tom, then you could set the case sensitive box and that same search Tom would now return only
Tom and Tomato.
To get even more refined you could type a space after the Tom and that would have found only notes with Tom with a space following, and thus not the note containing Tomato.

Q: How do I do compound (AND) searches?
Compound Searches
Cumulative "AND" compound searching is available by hitting the [Enter] key after each string of a compound search. The search for that string will be completed and the string itself will be displayed in the box directly below the search input box. Each additional "AND" of a compound search will be searched for and displayed there also, followed by an arrow symbol.

For example, to search your notes for the specific string:
Tom, Dick and Harry
you would enter
tom, dick and harry
into the search box which would return only the notes containing that exact character-for-character string match. However to find all notes that contain all three names you would enter
which would list all notes that contain those three names anywhere in the body of the note. The strings of a compound seach may be entered in any order. The intermediate results will of course vary, but the final result will be identical.

Q: What are search "tags" and do I need them?
A: A search "tag" is just any special character string that you decide to use anywhere in a note that will make that note easier to find, either as an individual note or as a member of a group of related notes all including that same tag. You can use any scheme you choose for your tags, however, we recommend that you use the same general scheme for all of your tags. For example, one good approach might be to use two right-bracket characters "]]" as the first two characters of every tag you create. That has the advantage of being a lower-case character and also easy to locate on the keyboard. But feel free to use whatever tagging scheme you choose.

The NoteFrog™ compound search is so powerful and fast that you may easily and efficiently use NoteFrog™ for thousands of notes in many different Stacks and Stack Libraries and never need to add search "tags" to any of them. Most users will probably use tags only infrequently. Even the most intense users are unlikely to ever include tags in more than a small percentage of their notes. But at the same time, they can be extremely useful for many different purposes, including the creation of N-dimensional "Tree" structures (See the "Tree Structure" FAQ).

As an example, suppose you have a friend named Tom and over time you have created many notes that have his name somewhere in the note. If you wanted to find Tom's phone number or address or email, you might choose to add a special "flag" to the note or notes that contain that information. We call that sort of flag a "tag". In this case you might just tag those "important" notes about Tom with a ]]tom string added anywhere in those important notes. Then doing a search for "]]tom" would result in only those notes containing ]]tom appearing in the match list.

You might adopt a more flexible scheme for your tags. Perhaps using something like adding a "]]PB" to any note that contains "phonebook" type information for anyone. Then you would do a compound search by first entering "]]PB" in the search box and pressing the enter key. That would eliminate from the results list all notes not containing a phonebook entry "]]PB" string. Then search within those notes for "tom" or "dick" or "harry" or any other person. Note that when doing a compound search, the order in which the various search terms are entered makes no difference to the final result. You could have entered tom then carriage return then ]]PB and the final result would be identical- a listing of only those notes containing both the strings tom and ]]PB.

Additional examples are covered in other Q/A entries on this page.

--- End quote ---

A NoteFrog stack is stored in memory as an array. The search is very fast. On a very large database the limiting factor, speed wise, is displaying a very large list of "matching" items - the list display just takes a while (relatively). If you type fast, so we're not trying to display a new list on each character, but rather only a reasonably sized list of matching items, it will be very fast.

Since it's processor dependent, the speed will also vary somewhat based on processor speed.
-berry (January 09, 2012, 05:28 PM)
--- End quote ---

I thought it might be useful to expand on this.
A common term for this kind of search is a "live" search. That means that the search proceeds as you type each letter of the search string.
It uses the actual data in the records, not a previously-built search index/table.

Generally speaking:

* Slow typing in the search field in NF starts a fresh incremental search with every character that is typed in. This slows things down quite a bit and is a waste of processor resource. This can sometimes feel "laggy".
* Fast typing does not allow enough/much time for NF to start a fresh incremental search and to properly proceed with that search as each character is typed in. This speeds things up a bit.
* Pasting a search term into the search field is thus the fastest, since it avoids all the incremental search palaver.
You will tend to notice this effect of typing speed on the search speed when you are searching larger stacks (i.e., databases containing lots of records).

You can see the same kind of NF search behaviour in InfoSelect and CHS. Usually pretty fast.

Find:  (paper OR clip OR paperclip) AND (pen OR pencil) NOT (nuggan or nugganite)
-rjbull (January 08, 2012, 11:50 AM)
--- End quote ---

This search term could be simplified by removing redundant terms, thus:
Was: (paper OR clip OR paperclip) AND (pen OR pencil) NOT (nuggan or nugganite)
Change to: (paper OR clip) AND (pen) NOT (nuggan)

The modified search will filter "paperclip" and "pencil" and "nugganite" in the way you want, by default.

I don't think NF or CHS can do this in "live" search, because they are not boolean and they default to (AND). Boolean terms such as (AND),  (OR), (NOT) are not usable.
However, CHS can (as we know) apply a boolean filter - i.e., including boolean terms - in its Virtual Folders.
InfoSelect will perform a "live" boolean search filter (if you want it to), thus:

The ability to perform such a live boolean search - i.e., in a similar manner to InfoSelect - could be potentially very useful, and therefore would be a useful new requirement for both NF and CHS. (I know you have brought this up several times in the DC forum, in the context of CHS.)

A discussion of various search capabilities along with their respective value might be interesting.

As mentioned, NoteFrog currently contains an "and" capability. Incorporating an "or" capability in an "as you type" search capability becomes slightly impractical as it requires re-searching all list items once an "or" is incorporated - thus you whittle a list down only to begin again as an "or" is incorporated. You also need to agree on how to escape terms to easily identify the boolean components - e.g. presently, pickle "or" would search for the entire term - pickle "or" -. Interpreting an entire expression and then searching would be possible, but would negate the "search as you type" capability.

Some combination of both? It becomes difficult determining what has the most value while still keeping the search capability simple and usable for your average, not power, user.


Yes, I think the boolean search would be a non-trivial feature to implement.
For interest, this is the Help about Search copied from InfoSelect v8 Help Manual:
SpoilerThe Search Dialog Box
The Search dialog box appears when you issue the Tools | Search (F5) command.

The Search dialog box allows you to specify a word or phrase to find.

You can see a graphical representation of a search in the Search Map which displays a series of squares. Each colored square represents an item in the Selector. As you type in your search phrase, the search will narrow and you will see the colored squares gradually disappear. The remaining squares represent the items that match the search phrase. The number of matches is displayed in the Matches area above the Search Map. The size of the squares varies with the amount of information being searched.

You can retrieve previous searches by pressing the DOWN ARROW key. You can also use the drop-list button next to the Search for field and select a previous search from a list.

You can highlight a word in a Note or caption while editing and then invoke the Search command. That word will automatically be copied into the Search key box.  

The More button expands the dialog box to display additional search options (click Less button to hide the advanced search options).

The Search Type drop-down box allows to select one of the search types.

You can specify a case sensitive search by checking the Case Sensitive checkbox. When unchecked, both "Apple" and "apple" will be found, regardless of how the item was originally entered.

If you want to search for whole words, check Whole Words Only.

You can specify that you want to search the information shown in the Selector by checking the Captions checkbox. You can specify that you want to search the Workspace by checking the Text checkbox.

Search Barriers prevent items from being searched. When you place a Search Barrier (marked by  icon) on an item, searches will exclude that item. If you want to ignore Search Barriers and search through all items, check the Pass Barriers checkbox. Otherwise, leave the checkbox unchecked to allow Search Barriers to work as intended.

Check All Topics to search all your data. Uncheck All Topics for a localized search of just the selected Topic.

You can search for the information in the Filtered items by checking the Within Current Filter option. For example, you can search for "John Smith" and then search the found items for the word "invoice" to located invoices from John Smith.

The Search for Type and Go Into sections are explained in "08 Searching | Item Type Searching".

The Search Styles section is explained in "08 Searching | Font Style searching".

--- End quote ---

And this is copied from the InfoSelect Help guide re boolean search:


[0] Message Index

[#] Next page

[*] Previous page

Go to full version