You are viewing limited content. For full access, please sign in.

Question

Question

How to use Fuzzy Search in workflow when using "Search Repository" for a field filled with tokens?

asked on April 19, 2021

The title is a little lengthy but here is what I am trying to do. Employee Files have an Employee Name field attached to their main folder. I want to have part of a workflow take first and last name tokens provided early in the process and search the repository for any employee file with the supplied name and return anything that is close but not the same as the supplied name. 

For instance, here is the breakdown of the process. HR opens up a Form, fills in the needed information, first name last name etc, and submits it. Workflow steps in and tries to see if the employee already has a file or if one is needed. If the file exists it just places the form in the correct spot, however, if the name doesn't already exist it kicks back to the Form with some options, "Not already in Laserfiche, please add them", "Go back and correct the name", or "cancel".

What I want is when it gets to this screen it lists names in Employee Files that are similar in case the user mistyped the name, for instance, if HR went to add stuff to my file and said my name was Timothy Holton it would work just fine, if they said my name was Timothy Holtn instead it would be possible for them to just add it anyways, I would like a way to have the search return Timothy Holton via a fuzzy search.

This is what I am trying to use as my Search Repository query
{[]:[Employee Name]="%(RetrieveBusinessProcessVariables_Employee_First_Name)*%(RetrieveBusinessProcessVariables_Employee_Last_Name)"} & {LF:Name="*", Type="F"} & {LF:LOOKIN="NVIH\HR\"}

This should only find folders in \hr\ that have the Employee Name field filled in with a name matching the first name token any middle name or none and last name token and I have fuzzy search turned on to find any results that are 2 letters different but looking up Timothy*Holton works fine but Timothy*Holten brings up nothing.

0 0

Replies

replied on December 3, 2021 Show version history

I know this post is old, but I was having a problem using the wildcards in the Workflow search and trying to learn if it is possible. I am working with a similar issue in personnel files, but we always use the ID as a leading field and I just want to suggest that. Names change (especially with marriage/divorce) and unrelated people with the same first and last name exist, so I would caution against having an automation process rely on just those for uniqueness. 

 

1 0
replied on April 19, 2021

Fuzzy search is meant for full text search, it does not do anything for metadata searches like yours.

Are you sure you want to use the name as the sole way of identifying people? What if you had a Timothy Holten too? Then it might be that Timothy Holton doesn't exist but you report you found a match.

Wouldn't it be safer to always require user verification if you don't find an exact match?

 

0 0
replied on April 19, 2021

So this would only run if not matches whatsoever were found and would show up as a "Here are some potential matches" and they'd still have to go back and correct the name itself by hand. We do also use middle names but since some people have them and others don't I just omit those in favor of a simple * wildcard. 

Would there be any way to make something similar to this work? I mean at very worst I could use regex to take the first and last letter of the first and last names and throw some wildcards in and pull a more vague and inaccurate list of potential matches but I'd like to utilize something akin to fuzzy search.

What exactly constitutes a full-text search?

 

0 0
replied on April 20, 2021 Show version history

Hi Timothy,

We've done something similar for one of our clients, I'm not sure this strictly constitutes a 'fuzzy search' but it is possible to run a close match search on a field. It does require the field in question to be indexed however.

When you index a field in Laserfiche, it's contents are written to the search catalogues in the same way as the document content (so I'm lead to believe) meaning that you can perform partial searches on the field without using wildcards. NOTE: this will slow down search performance as the search is more complex and not looking for an exact result. This will impact all searches in Laserfiche on that field, including searches run by users.

You can set a field to be indexed in the admin console.

Once you've enabled this option on a field you can use the ~ sign in the Advanced Search Syntax to perform a 'fuzzy' style search. E.g.

{[]:[Employee Name]~="Timothy Holton"}

So for example using an exact match returns no entries:

But using the partial match returns the document:

This uses the logic from your fuzzy search settings (e.g. 25% difference allowed). I believe in Workflow you need to set this using the checkbox under the search query.

Hope this helps.

Dan

0 0
replied on April 20, 2021

I am hoping I am missing a step or something because that makes sense but doesn't work.

 

But without the ~ and adding the wildcard gets me this

0 0
replied on April 20, 2021

Hi Timothy,

You'll need to make sure fuzzy search is enabled under Tools > Options > Search > General. If you're not getting the results you'd like you might need to play around with the percentage/number of letters.

What's the field value on those folders which your wildcard search is matching but the other searches aren't?

0 0
replied on April 20, 2021

Indexing fields is not instant. The search engine needs a little bit of time to go through the repository and get all data and add it to the search catalog. You can see the status in the "Index" node in the administration console.

1 0
You are not allowed to follow up in this post.

Sign in to reply to this post.