Welcome to the Mythicsoft Q&A site for:

- Agent Ransack
- FileLocator Lite
- FileLocator Pro

Please feel free to ask any questions on these products or even answer other community member questions.

Useful Links:

- Contact Us
- Help Manuals
- Mythicsoft Home

How to perform exact match for index searches containing the pound/hash symbol

0 votes

I use the pound "#" symbol to add tags to notes created in plain text files. I am experiencing difficulty using FileLocator Pro to find only the files that contain tags with the "#" pound symbol.

The issue can be reproduced using the following Windows shell command line:

C:\Portable\FileLocatorPro\FileLocatorPro.exe -idxname MyIndexName -r -c -ceb "#billable"

-idxname Search with specified index
-r To start the search immediately
-c Text to search for using the Containing Text Field
-ceb Boolean search type

The expected result are just files that contain "#billable".
But files are being returned that contain "billable" which is undesirable.

I have tried escaping the pound symbol using "#billable" without a change in results.
I have also tried using "# NEAR billable" and "# NEAR billable" which returns an error, "Errors occurred during search. If the problem persists please contact technical support".

I am using a portable a portable application launcher called Launchy to perform my search queries, so I would prefer not to use a cryptic REGEX expression. However, I'd be happy to temporarily use it as an alternative if anyone cares to offer the appropriate query.

FileLocator Pro Version 8.2 Release Build 2736 - 2017.06.06.41790

asked Jun 30 by brainflurry (110 points)

1 Answer

0 votes
 
Best answer

When using the Index Search functionality the '#' symbol is not considered as an 'indexable' character, instead it's treated as a term separator, e.g.

file#locator

will be treated as two separate terms 'file' and 'locator'.

FileLocator Pro tries to match the search term as best it can and will try and match non-indexable characters so that something like '#file' is still matchable, although not always exactly.


More information:

This limitation only applies to index searches since an index search is based on a database of indexed terms. This does not apply to a 'classic' non-indexed search which matches the search text exactly against the source text, but is usually slower.

answered Jun 30 by dave (52,970 points)
selected Jun 30 by brainflurry
Thank you for your answer Dave. So, does this mean that FileLocator Pro cannot perform an exact match for "#locator", to use your example? Does this also apply to RegEx searches?

Is there not a way to escape the '#' character in a Boolean search so that it is considered part of the search term?

Lastly, are there a list of such symbols that are not considered an 'indexable' characters? That would really help people understand what to expect when performing certain searches in FileLocator Pro.
This only applies to indexing searches, a 'classic' search matches text exactly, because it has the source text to match against. Index searches, however, only have indexed terms to match against, not the source text. We'll be adding functionality in future to show how source text is split into individual terms but that's not ready yet. As a rule of thumb, unless it's an email address, any character that is not an alphanumeric character or underscore is treated as a term separator.
I have a scheduled task setup to update the index every thirty minutes because "classic search" takes entirely too long unless I specify a folder to search against. I would greatly appreciate it if future releases would allow for exact match of characters in indexed search.

For now, I will try to use the underscore to identify tags (e.g. "_locator") and for exact match. Will that work?
Yes, _tag will work. In future there will be more user configuration as to what defines a term.
...