{"id":20540,"date":"2025-09-10T18:26:12","date_gmt":"2025-09-10T18:26:12","guid":{"rendered":"https:\/\/www.directimpactsolutions.com\/?p=20540"},"modified":"2026-04-27T18:13:58","modified_gmt":"2026-04-27T18:13:58","slug":"filemaker-ai-and-entity-matching-pt-1","status":"publish","type":"post","link":"https:\/\/www.directimpactsolutions.com\/en\/filemaker-ai-and-entity-matching-pt-1\/","title":{"rendered":"FileMaker AI and Entity Matching \u2013 Pt. 1"},"content":{"rendered":"<h4 class=\"wp-block-heading\">Solving the difficult problem of fuzzy matching using artificial intelligence<\/h4><p><\/p><div class=\"wp-block-uagb-info-box uagb-block-1c3842f4 uagb-infobox__content-wrap  uagb-infobox-icon-above-title uagb-infobox-image-valign-top\"><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-icon-wrap\"><svg xmlns=\"https:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\"><path d=\"M0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM371.8 211.8C382.7 200.9 382.7 183.1 371.8 172.2C360.9 161.3 343.1 161.3 332.2 172.2L224 280.4L179.8 236.2C168.9 225.3 151.1 225.3 140.2 236.2C129.3 247.1 129.3 264.9 140.2 275.8L204.2 339.8C215.1 350.7 232.9 350.7 243.8 339.8L371.8 211.8z\"><\/path><\/svg><\/div><div class=\"uagb-ifb-title-wrap\"><h3 class=\"uagb-ifb-title\"><strong>UPCOMING EVENT: Using AI to Handle Duplicates in FileMaker<\/strong>&nbsp;<\/h3><\/div><p class=\"uagb-ifb-desc\">Join Direct Impact Solutions for an exclusive live webinar to learn how AI can simplify searching your data, detect and clean duplicates, and prevent them before they happen.<br><br>\ud83d\udcc5 <strong>Date:<\/strong> September 30, 2025<br><strong>\u23f0 Time:<\/strong> <strong>11:00 AM Pacific \/ 2:00 PM Eastern \/ 8:00 PM Central Europe<\/strong>&nbsp;<br>\ud83d\udd17 <strong>Reserve your place here:<\/strong> <a href=\"https:\/\/zoom.us\/webinar\/register\/WN_iI0mOhzDRNGzCWZAgtOqBQ\" target=\"_blank\" rel=\"noreferrer noopener\">Webinar Registration<\/a><br><br><strong>Host: <\/strong>David Weiner, Senior Developer and Project Manager at Direct Impact Solutions<br><strong>Languages:<\/strong> English audio with simultaneous French subtitles<br><br>Don\u2019t miss this unique opportunity to interact with our experts and explore the full potential of AI in FileMaker for your organization!<\/p><\/div><\/div><p><\/p><p>Starting with the release of <a href=\"https:\/\/help.claris.com\/en\/pro-release-notes\/content\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">Claris FileMaker 21<\/a>, FileMaker users have two types of search available to them. There\u2019s the standard \u201cexact match\u201d find, and now we have a <strong>Semantic Find<\/strong>, powered by the use of Large Language Models and Artificial Intelligence. The standard find in FileMaker is what most people would find familiar \u2013 enter a search term and FileMaker returns records that exactly match the query. Semantic Find operates differently, in that it returns records that match the <em>meaning<\/em> of the query. The use case most commonly associated with it is searching large text fields for semantic meaning. However, semantic search can also be used to solve a very specific type of database search challenge \u2013 <a href=\"https:\/\/neo4j.com\/blog\/graph-database\/what-is-entity-resolution\/\" target=\"_blank\" rel=\"noreferrer noopener\">Entity Matching<\/a>, or \u201cfuzzy search\u201d. This type of search problem is common (and difficult) enough that using Semantic Find to solve it can bring real benefits to FileMaker users. There are technical challenges and some tradeoffs, but the results I\u2019ve had are compelling. In this article, I\u2019ll explain a little bit about how FileMaker searches work, and show how FileMaker\u2019s new Semantic Find tools can help solve the Entity Matching problem.<\/p><h2 class=\"wp-block-heading\">Traditional \u201cExact Match\u201d Find<\/h2><div class=\"wp-block-uagb-image uagb-block-8dfb671f wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image2-1024x409.png ,https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image2.png 780w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image2.png 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image2-1024x409.png\" alt=\"\" class=\"uag-image-20544\" width=\"504\" height=\"371\" title=\"article_image2\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div><p>An ordinary FileMaker search looks for an exact match, usually with data that has been indexed. It\u2019s the most common type of search, it\u2019s very fast, and it\u2019s useful for finding records that have very specific criteria:<\/p><ul class=\"wp-block-list\"><li>Find all records where FirstName = \u201cHannah\u201d and LastName = \u201cBeuler\u201d<\/li>\n\n<li>Find all records where Date = \u201c4\/5\/2025\u201d<\/li>\n\n<li>Find all records where Size = \u201c3.45cm\u201d and Material = \u201cAluminum\u201d<\/li><\/ul><p>There are plenty of ways to drill down and refine this kind of search using the standard FileMaker tools (logical operators, numeric ranges, wildcards, etc), but at its core, this type of search basically relies on the data you\u2019re looking for to be relatively clean and discrete. If <strong>FirstName<\/strong> does not equal exactly \u201cHannah\u201d and <strong>LastName<\/strong> does not equal exactly \u201cBeuler\u201d, or if the date is not exactly \u201c4\/5\/2025\u201d, the record will not be found.<\/p><h2 class=\"wp-block-heading\">Semantic Find<\/h2><div class=\"wp-block-uagb-image uagb-block-6fb0d6a2 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image3-1024x396.png ,https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image3.png 780w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image3.png 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image3-1024x396.png\" alt=\"\" class=\"uag-image-20547\" width=\"609\" height=\"396\" title=\"article_image3\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div><p><strong>Semantic Find<\/strong>, on the other hand, doesn\u2019t rely on tidy and discrete data. This type of search can interpret the <em>meaning<\/em> of your data and return the most relevant matching records. The typical use case for semantic search is to tease out meaning from unstructured (often messy) text data:<\/p><ul class=\"wp-block-list\"><li>Find all the Sales Notes that refer to \u2018cost being too high for customers\u2019<\/li>\n\n<li>Find all Products in the catalog that are useful in warm weather<\/li>\n\n<li>Find non-fiction books about maritime history from Japan and China<\/li><\/ul><p>Semantic Find will return records that contain data related to the <em>meaning<\/em> outlined in the search query. As opposed to an exact match, these results may vary in their contents, but will still be relevant to the request, since the semantic find interprets the meaning behind the query and matches it to the contents of the records being searched.<\/p><h2 class=\"wp-block-heading\">What is Entity Matching (and why is it difficult)?<\/h2><div class=\"wp-block-uagb-image uagb-block-5a83b882 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image4-1024x375.png ,https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image4.png 780w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image4.png 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image4-1024x375.png\" alt=\"\" class=\"uag-image-20550\" width=\"593\" height=\"310\" title=\"article_image4\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div><p>While semantic find looks for relatedness in <em>meaning<\/em>, <strong>Entity Matching<\/strong>, sometimes known as \u201cFuzzy Matching\u201d, refers to the task of determining if two entity descriptions refer to the same real-world entity. This type of search attempts to answer questions like:<\/p><ul class=\"wp-block-list\"><li>Is this new incoming data the same as data that\u2019s already in the database?<\/li>\n\n<li>Do these two (or more) records actually refer to the same thing?<\/li>\n\n<li>Do we have any duplicates in our database?<\/li><\/ul><p>While this type of search is easy if data is very clean and discrete, it becomes much more difficult whenever \u201cmessy data\u201d is introduced to your data set. We often encounter messy data where, for example, two or more databases have been merged from disparate data sets, or when much of the data comes from an outside source (such as user submissions, data feeds, crowdsourcing, web scraping, mailing list imports, etc). Incoming data may contain abbreviations, nicknames, alternate spellings, value transpositions, or typos. And of course, good old human error contributes significantly to this as well.<\/p><p><\/p><p>Take the following:<\/p><p><strong>Record 1 &#8212; Hanna C Bueler, born on 03\/12\/1990<\/strong><\/p><p><strong>Record 2 &#8212; Hannah Beuler, born on 12\/03\/1990<\/strong><\/p><p>In this example, the first name and last name are both spelled slightly differently, one record is missing the middle initial, and the month and day have been switched in the birth date. For a human comparing these two records, it may be fairly easy to spot the errors and recognize this as a duplicate. But for a computer program, it\u2019s not so simple.<\/p><p>The problem, then, is how to more accurately determine, <em>programmatically<\/em>, whether these two records represent the same person. FileMaker\u2019s traditional deterministic find is ill-suited to solving this problem (without a significant amount of scripting), simply because of its very nature. It excels at finding an exact match, but we\u2019re looking for something that is <em>almost<\/em> an exact match. However, using FileMaker\u2019s semantic find features, and an AI model tuned especially for <em>Semantic Similarity<\/em>, we can find this match with a fairly high certainty that these two records refer to the same person. In this particular case, my tests with FileMaker\u2019s Semantic Find and Google\u2019s Gemini text embeddings were able to determine that these were 87% likely to represent the same person!<\/p><h2 class=\"wp-block-heading\">Entity Matching Use Cases<\/h2><div class=\"wp-block-uagb-image uagb-block-4bbf6cd2 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image5-1024x800.png ,https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image5.png 780w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image5.png 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image5-1024x800.png\" alt=\"\" class=\"uag-image-20553\" width=\"589\" height=\"676\" title=\"article_image5\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div><p>Entity Matching is required in a wide variety of data environments, but can frequently be found in healthcare, finance, CRM systems, and E-commerce, where deduplication of person, organization, or product data is essential. Any data used for<em> identifying<\/em> an entity that may vary slightly (alternate spellings, typos, abbreviations, etc.) can make it really hard to deduplicate your data. Common examples of the kind of data that can be \u201cmessy\u201d:<\/p><h3 class=\"wp-block-heading\">Names<\/h3><ul class=\"wp-block-list\"><li>Kristine vs. Christine<\/li>\n\n<li>Fern\u00e1ndez&nbsp;vs.&nbsp;Fernandes<\/li>\n\n<li>Bob vs. Robert<\/li>\n\n<li>William vs. Willy vs. Bill<\/li><\/ul><h3 class=\"wp-block-heading\">Addresses<\/h3><ul class=\"wp-block-list\"><li>First Avenue vs. 1st Ave<\/li>\n\n<li>Southeast Main Street vs. SE Main<\/li>\n\n<li>Greenlake Road vs. Green Lake Rd<\/li><\/ul><p><\/p><h3 class=\"wp-block-heading\">Dates of Birth<\/h3><ul class=\"wp-block-list\"><li>1995 vs. 1959<\/li>\n\n<li>10\/2\/2003 vs. 2\/10\/2003<\/li>\n\n<li>1\/21\/1980 vs. 1\/12\/1980<\/li><\/ul><h3 class=\"wp-block-heading\">Organization Names<\/h3><ul class=\"wp-block-list\"><li>First National Bank Corp.<\/li>\n\n<li>1<sup>st<\/sup> National Bank<\/li>\n\n<li>F.N.B. Corporation<\/li>\n\n<li>First National<\/li><\/ul><h3 class=\"wp-block-heading\">Product Descriptions<\/h3><ul class=\"wp-block-list\"><li>Black Adhesive Tape, Roll \u2013 2 in.<\/li>\n\n<li>Roll Tape \u2013 2-inch Black<\/li>\n\n<li>Adhesive Roll Tape 2 in. blk.<\/li>\n\n<li>2\u201d Roll Tape \u2013 Black<\/li><\/ul><p>Basically, entity matching is needed anywhere that messy data makes it more difficult to determine if two or more records are the same. So, how can FileMaker\u2019s new semantic find features help us solve this problem?<\/p><h2 class=\"wp-block-heading\">How Semantic Find Can Help<\/h2><div class=\"wp-block-uagb-image uagb-block-7c5def59 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image6-1024x800.png ,https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image6.png 780w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image6.png 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/article_image6-1024x800.png\" alt=\"\" class=\"uag-image-20556\" width=\"443\" height=\"674\" title=\"article_image6\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div><p>Using the semantic search tools, messy data in a FileMaker system can be prepared for this kind of search, making it easier to identify when two records are likely to represent the same entity. This requires a one-time encoding of the data into \u201cvectors\u201d using AI, and the semantic find feature then uses these vector embeddings to perform the search. Once we\u2019ve prepared our data to be searched in this way, we can do things like bring up a list of possible matching person records before entering a new person, even when the name is spelled slightly differently, avoiding duplicate entries. We can use the same approach for organization names, addresses, or when adding something like a new stock item (do we already have an item like this in stock, or should we add this as new one?). Semantic Find can be used to build a deduplication module that runs every evening, automatically merging newly-created duplicates if the match percentage is higher than a certain amount. Or we could create an alert for users when they are about to add a new record that may already exist \u2013 \u201cThis looks like a record you already entered. Are you sure you\u2019d like to add this new one?\u201d<\/p><p>Entity matching is a crucial process for keeping your data clean and accurate. Until now, it\u2019s been a difficult problem to solve using FileMaker\u2019s native tools. But Semantic Find gives us a new toolkit to easily bring this functionality within reach.<\/p>","protected":false},"excerpt":{"rendered":"<p>Solving the difficult problem of fuzzy matching using artificial intelligence Starting with the release of Claris FileMaker 21, FileMaker users have two types of search available to them. There\u2019s the standard \u201cexact match\u201d find, and now we have a Semantic Find, powered by the use of Large Language Models and Artificial Intelligence. The standard find &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.directimpactsolutions.com\/en\/filemaker-ai-and-entity-matching-pt-1\/\"> <span class=\"screen-reader-text\">FileMaker AI and Entity Matching \u2013 Pt. 1<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":23,"featured_media":20560,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","footnotes":""},"categories":[331,29],"tags":[],"class_list":["post-20540","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-low-code"],"uagb_featured_image_src":{"full":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search.png",800,350,false],"thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search-150x150.png",150,150,true],"medium":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search-300x131.png",300,131,true],"medium_large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search-768x336.png",768,336,true],"large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search.png",800,350,false],"1536x1536":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search.png",800,350,false],"2048x2048":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search.png",800,350,false],"woocommerce_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search-300x300.png",300,300,true],"woocommerce_single":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search-600x263.png",600,263,true],"woocommerce_gallery_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2025\/09\/ai-search-100x100.png",100,100,true]},"uagb_author_info":{"display_name":"David Weiner","author_link":"https:\/\/www.directimpactsolutions.com\/en\/author\/david-weiner\/"},"uagb_comment_info":0,"uagb_excerpt":"Solving the difficult problem of fuzzy matching using artificial intelligence Starting with the release of Claris FileMaker 21, FileMaker users have two types of search available to them. There\u2019s the standard \u201cexact match\u201d find, and now we have a Semantic Find, powered by the use of Large Language Models and Artificial Intelligence. The standard find&hellip;","_links":{"self":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/posts\/20540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/comments?post=20540"}],"version-history":[{"count":23,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/posts\/20540\/revisions"}],"predecessor-version":[{"id":21117,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/posts\/20540\/revisions\/21117"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/media\/20560"}],"wp:attachment":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/media?parent=20540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/categories?post=20540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/tags?post=20540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}