"I search for "Christopher" and get no results, but I know Christopher Smith is in my contact list. What is wrong?"
An initial observation when searching Senzing is certain searches return no results. For example, last name and city, first name, or even just arbitrarily mistyped IDs or phone numbers. Why is this?
Senzing's current search is an Entity Search, meaning you are interested in locating an entity. To achieve this confidently you need to supply enough attributes to confidently identify any likely entities. First name only doesn't identify a person except for extremely limited circumstances, e.g. Senzing itself has at least 3 Jeff employees.
In addition to the current Entity Search, you will likely want a full-text search or elastic search and you'll be able to integrate the Senzing API with such external systems.
First Principle Of Entity Search
Provide as much data as you can
An Entity Search isn't like a SQL join where adding more data eliminates results. With Entity Search, the more data you add the more opportunities the system has to find your data and the better refined the list of prioritized results will be. When searching Senzing provide more, not less data.
Don't Make Me Type That Much
We understand manually entering a bunch of data into the Senzing App or an interface you created to search Senzing can be finger tiresome. In fact, the number one Entity search is just a full name. Often times that is enough data on a small system to find who you are looking for but Senzing is not optimized for a name only or name centric search. On larger more voluminous systems with 10s or 100s of million records, name only or name centric search will likely result in more false positives than you'd care to deal with or even false negatives due to our strict name centric matching.
Your success will increase greatly with at least one other identifying attribute. Such as:
- Address - Provide a PO Box or Street address with City/State and/or Postal Code
- Phone Number - With or without country code
- Driver's License, Passport number, National ID, Account number- With or without the country/state
- Date of Birth - A complete date of birth
In general, one of the attributes you provide needs to match the Entity you are looking for (like an exact driver's license number) and the more attributes you provide the more variability the system can accept.
I Know I Have Records With That Value
"I searched for address "123 Main St, Los Angeles, CA" and nothing comes back. I know I have 200 people that have that address and I searched on the complete address like you told me to. What gives?"
This goes back to the fact that this is an Entity search. Senzing automatically learns which values identify people well and which values don't. An address shared by 200 people or a National ID shared by 10 people no longer identifies a person like a closely associated attribute should. As a specific value is found to be weaker and weaker, Senzing deemphasizes it more and more until it may not use the value at all.
In some cases, Senzing will know that a value is invalid and never use it at all such as an SSN of 999-99-9999.
For more information on this read What Makes Senzing Special
I Loaded An Attribute But Search Isn't Recalling It!
At this time search only works on data attributes that map to Senzing features. For example, if you include an attribute from a source system called 'Employee ID', Senzing will ingest this but not use it for entity resolution if it doesn't map to one of the Senzing feature terms.
In this case the attribute 'Employee ID' will be included in the entity data returned by Senzing and can be used in reports, GUIs, etc but cannot be natively searched against. It is considered payload data.