Wicked Smart Data
LearnInsightsAboutContact
Sign InLet's Build
LearnInsightsAboutContact
Sign InLet's Build
Wicked Smart Data

Intelligence, automation, and expert execution — plus an elite library of free knowledge. We turn complexity into competitive advantage.

Start a conversation

Platform

  • Learning Paths
  • Insights
  • RSS Feed

Company

  • About
  • Contact
  • Work With Us

Legal

  • Privacy Policy
  • Terms of Service

© 2026 Wicked Smart Data. All rights reserved.

Intelligence · Automation · Advantage

All Insights
Power Apps

Configuring Dataverse Search: Enabling Relevance Search, Configuring Searchable Tables and Columns, and Tuning Quick Find for Model-Driven Apps

Most Dataverse Search problems aren't data problems — they're configuration problems. This lesson teaches you exactly how to enable Dataverse Search, control which tables and columns are indexed, and tune Quick Find views so users actually find what they're looking for.

⚡ Practitioner24 min readSep 22, 2026Updated Sep 22, 2026
Configuring Dataverse Search: Enabling Relevance Search, Configuring Searchable Tables and Columns, and Tuning Quick Find for Model-Driven Apps
On this page
  • Introduction
  • Prerequisites
  • Understanding the Two Search Engines in Dataverse
  • Quick Find: The Original, Per-Table Search
  • Dataverse Search: The Modern, Cross-Table Engine
  • The Categorized Search Fallback
  • Enabling Dataverse Search at the Environment Level
  • Step 1: Navigate to Power Platform Admin Center
  • Step 2: Verify the Copilot / AI Integration Setting
  • Step 3: Understand What's Automatically Indexed
  • Configuring Searchable Tables
  • Accessing the Search Configuration Screen
  • Adding a Custom Table to Dataverse Search
  • Removing Tables from the Index
  • Configuring Searchable Columns
  • How Dataverse Search Determines Which Columns to Index
  • Choosing the Right Columns to Index
  • Column Data Type Limitations
  • Lookup Column Indexing: A Special Case
  • Tuning Quick Find Views
  • The Quick Find View Anatomy
  • Configuring Find Columns for the Inspection Table
  • Configuring Quick Find for Lookup Dialogs
  • Performance Implications of Quick Find
  • Understanding the Search Index Sync Delay
  • How Long Is the Delay?
  • Auditing Which Records Are Indexed
  • Hands-On Exercise: Configuring Search for a Project Management App
  • Step 1: Enable Dataverse Search
  • Step 2: Enable Tables for Dataverse Search
  • Step 3: Configure Quick Find Views
  • Step 4: Validate After Index Propagation
  • Step 5: Test Lookup Dialog Search
  • Common Mistakes & Troubleshooting
  • "Search returns no results for records I know exist"
  • "Quick Find in the lookup dialog is too slow"
  • "Global search returns too many irrelevant results"
  • "We enabled Dataverse Search but users still see the old categorized results"
  • "A column I want to search is a Number type and can't be indexed"
  • "Records created via bulk import aren't showing in search"
  • "Dataverse Search finds records the user shouldn't have access to"
  • The Relationship Between Search Configuration and View Configuration
  • Summary & Next Steps
  • Configuring Dataverse Search: Enabling Relevance Search, Configuring Searchable Tables and Columns, and Tuning Quick Find for Model-Driven Apps

    Introduction

    Picture this: your sales team is using a model-driven app to manage thousands of accounts, contacts, and opportunities. A rep gets a call from a client and types the company name into the search bar. The spinner spins. Nothing useful comes back. They try a partial name. Still garbage. They give up and ask a colleague to find the record manually. This is a search failure — and it happens more often than it should in Power Apps deployments.

    The problem is almost never the data. It's the search configuration. Dataverse ships with a capable, Azure Cognitive Search-powered engine called Dataverse Search (formerly Relevance Search), but it doesn't configure itself. Out of the box, many organizations are still running the older, slower Quick Find engine — or have Dataverse Search enabled but with so few tables and columns indexed that it barely outperforms guessing. Getting search right transforms how users experience your app every single day.

    By the end of this lesson, you'll be able to make confident, deliberate decisions about every layer of Dataverse search: enabling and scoping Dataverse Search at the environment level, controlling which tables and columns are included in the search index, optimizing Quick Find views so both search engines return meaningful results, and avoiding the common configuration traps that leave search feeling broken even when everything is technically "on."

    What you'll learn:

    • How Dataverse Search differs from Quick Find, and when each engine is active
    • How to enable Dataverse Search at the environment level and understand its index behavior
    • How to configure which tables and columns participate in Dataverse Search indexing
    • How to tune Quick Find views to surface the right fields in both search engines
    • How to troubleshoot stale indexes, missing results, and performance degradation

    Prerequisites

    This lesson assumes you're comfortable working inside the Power Apps maker portal and have experience customizing tables, views, and columns in Dataverse. If you need a refresher on how Dataverse structures data, revisit Dataverse Fundamentals: Tables, Columns, and Rows Explained for Power Apps Makers. You should also understand how views work in model-driven apps — particularly Quick Find views — because they sit at the intersection of both search engines. If views are new territory, Creating and Customizing Views in Model-Driven Apps: Filters, Sorting, and Editable Grids will get you up to speed.

    You'll need a System Administrator or System Customizer role to follow the configuration steps in this lesson.


    Understanding the Two Search Engines in Dataverse

    Before you touch a single setting, you need to understand the architecture you're configuring. Dataverse doesn't have one search engine — it has two, and they operate at different scopes with different performance profiles.

    Quick Find: The Original, Per-Table Search

    Quick Find is the older engine. When a user types into the search box on a view grid (the search box directly above a list of records), Quick Find runs a LIKE '%searchterm%' style query against the Dataverse SQL layer. It checks the columns you've configured in the Quick Find view for that table.

    This query is synchronous, runs against the live database, and scales poorly with large datasets. It also only searches one table at a time — whichever table's view is currently on screen. If you're looking at the Accounts grid and type "Contoso," it looks for Contoso in Accounts. Full stop.

    Quick Find has one legitimately useful mode: the Lookup dialog. When users click on a lookup field to find a related record, Quick Find is what powers that search. This makes Quick Find view configuration still critically important even if you've enabled Dataverse Search.

    Dataverse Search: The Modern, Cross-Table Engine

    Dataverse Search is backed by Azure Cognitive Search. Microsoft maintains a search index that replicates your Dataverse data and updates it incrementally (with a delay — more on that shortly). When a user types into the global search bar at the top of a model-driven app, Dataverse Search is what runs — if you've enabled it.

    The key difference is scope: Dataverse Search can search across all indexed tables simultaneously and return ranked, relevance-scored results. A rep who types "Contoso" gets back matching accounts, contacts at Contoso, open opportunities tied to Contoso, and any service cases mentioning the name — all in one result set.

    Key insight

    Quick Find and Dataverse Search are not mutually exclusive. Enabling Dataverse Search replaces the global search bar behavior but Quick Find continues to power per-table grid search and all lookup dialogs. You need both configured properly.

    The Categorized Search Fallback

    When Dataverse Search is enabled, the global search bar shows a single unified result set by default. But there's a setting called Categorized Search that instead groups results by table — presenting Accounts results, then Contacts results, then Opportunities results in separate buckets. Microsoft deprecated the old Categorized Search mode in favor of unified results, and most current environments default to the unified experience. Know that the "single search box at the top" always uses whichever engine you've enabled at the environment level.


    Enabling Dataverse Search at the Environment Level

    Dataverse Search is an environment-wide setting. You enable it once per environment, and it applies to all model-driven apps in that environment.

    Step 1: Navigate to Power Platform Admin Center

    Go to admin.powerplatform.microsoft.com and select your target environment. Choose Settings from the top menu, then expand Product and click Features.

    Scroll to the Search section. You'll find a toggle labeled Dataverse Search. Flip it on and save.

    Warning

    Enabling Dataverse Search for the first time triggers a full initial index build. For environments with large data volumes — tens of millions of records across many tables — this can take hours to days. Users won't see stale or missing results during this window; they'll see results that become progressively more complete as the index builds. Plan your initial enablement accordingly, and don't enable it at 9 AM on a Monday and then wonder why search is incomplete all morning.

    Step 2: Verify the Copilot / AI Integration Setting

    In the same Features section, you may see a Copilot or AI-related search toggle. In newer environments, Dataverse Search is a prerequisite for Copilot features inside model-driven apps. If your organization plans to use any AI-assisted features, enabling Dataverse Search now avoids a disruptive re-enablement later.

    Step 3: Understand What's Automatically Indexed

    When you first enable Dataverse Search, Microsoft automatically adds a default set of tables to the index. These are the standard system tables that most organizations use: Account, Contact, Lead, Opportunity, Case, Activity (Email, Phone Call, Task, Appointment), and a handful of others.

    Here's the catch: custom tables are not automatically indexed. If you've built a custom Project, Inspection, or ServiceRequest table, it won't appear in search results until you explicitly configure it. This is the single most common reason users report that "search doesn't work" after Dataverse Search is enabled — they're searching for records in tables that aren't in the index at all.


    Configuring Searchable Tables

    Table-level search configuration controls which tables contribute records to Dataverse Search results. You manage this through the Power Apps maker portal, not the admin center.

    Accessing the Search Configuration Screen

    Navigate to make.powerapps.com, select your environment, and go to Tables in the left nav. There's a dedicated path for this: click the ... (more options) menu or use the top navigation to find Advanced settings, then locate Configure Dataverse Search — or more specifically, open any table you want to configure and look at its Search properties.

    The more reliable path is: from the left navigation, choose Tables, then in the command bar at the top, look for the Dataverse search option, which opens a pane showing all tables and their index status.

    Alternatively, in some versions of the maker experience, you navigate to Settings > Advanced settings from the environment switcher, which opens the classic Dynamics 365 settings panel. From there: Settings > Customizations > Customize the System, then expand the Entity (table) and look at the General tab for the Appears in search results checkbox.

    Note

    Microsoft has been progressively migrating these settings into the modern maker portal. Depending on when you're reading this, the exact UI path may look slightly different, but the underlying setting — whether a table participates in Dataverse Search — remains the same. If you can't find it in one interface, try the other.

    Adding a Custom Table to Dataverse Search

    Let's use a concrete example: you've built a cr123_inspection table to track field inspections for a utilities company. Inspectors and dispatchers need to search inspections by address, asset ID, or inspector name. Here's how you add it:

    1. Open the table in the maker portal (Inspection)
    2. On the table's Properties panel (the gear icon or Edit table button), look for a setting labeled Appear in search results or Enable for search
    3. Toggle this on and save

    Once you've enabled the table, it will be added to the search index queue. Index propagation for a newly added table typically takes 15–30 minutes for moderate data volumes, though it can stretch longer for tables with hundreds of thousands of records.

    Removing Tables from the Index

    You can also remove tables from search. This is useful when:

    • You have a large lookup or configuration table (like a ZipCode reference table with 40,000 rows) that clutters search results users never want to see
    • A table contains sensitive data that should never surface in global search, even if the user has read access via their security role

    Key insight

    Dataverse Search respects security roles. A user will only see search results for records they have read access to according to their security role configuration. Removing a table from search is a usability decision, not a security backstop — don't rely on search exclusion to protect sensitive data.


    Configuring Searchable Columns

    Enabling a table for search is only the first step. The second, often overlooked step is controlling which columns within that table are indexed. This matters for two reasons: relevance quality and index size performance.

    How Dataverse Search Determines Which Columns to Index

    By default, Dataverse Search indexes a modest set of columns for each table: the primary name column, and columns you've added to the table's Quick Find view as "Find Columns." This means your Quick Find view configuration does double-duty — it controls both the per-table grid search AND contributes to what Dataverse Search indexes.

    This is an important architectural detail. The Quick Find view has two distinct parts:

    • Search columns (Find Columns): The columns actually searched against — these feed the Dataverse Search index
    • Display columns: What appears in the search result grid — these do not affect what's searchable

    Navigate to your table's views, open the Quick Find view (every table has exactly one), and click Add find columns (or the equivalent in your version of the UI) to add columns that should be searchable.

    Choosing the Right Columns to Index

    For the Inspection table example, good candidates for indexing include:

    • cr123_address (text) — location where the inspection occurred
    • cr123_assetid (text) — the utility asset being inspected
    • cr123_inspectornotes (multiline text) — descriptive notes
    • cr123_workordernumber (text) — the reference number field staff use to communicate

    Poor candidates include:

    • cr123_scheduleddate (date) — dates aren't searched as text; use filtered views instead
    • cr123_statusreason (choice) — choices are indexed, but users rarely type choice label text; filter views work better
    • cr123_latitude / cr123_longitude (decimal) — numeric geographic fields have no business being in a text search index

    Tip

    When in doubt about whether a column should be searchable, ask: "Would a real user ever type this value into a search box expecting to find a record?" If the answer is no, leave it out. Over-indexing columns you don't need bloats the index, slows down searches, and produces irrelevant results.

    Column Data Type Limitations

    Not every column type can be added as a search column. Dataverse Search can index:

    • Single-line text
    • Multiple-line text (memo)
    • Choice / Global choice (by option label text)
    • Lookup (by the related record's primary name)
    • Email, URL, Phone (all stored as text internally)

    Dataverse Search cannot index:

    • Currency (numbers only, no text matching)
    • Date/Time columns
    • File or Image columns
    • Whole Number, Decimal Number
    • Yes/No (Boolean)

    This is a common point of confusion. A column named CustomerID might store what looks like a text identifier, but if it's typed as Whole Number, it cannot be searched. In this case, you'd need either a calculated text column that mirrors the number, or you'd re-examine the column type. Check out Configuring Model-Driven App Column Properties: Data Types, Required Fields, and Display Settings for Dataverse Tables if you're weighing a column type change.

    Lookup Column Indexing: A Special Case

    When you add a lookup column as a find column, Dataverse Search indexes the display name of the related record — not the GUID. So if your Inspection table has a lookup to Account, and an account is named "Pacific Gas and Electric," searching "Pacific Gas" will match inspections linked to that account. This is powerful behavior, but it means the linked table's primary name field needs to be meaningful, not an auto-generated code.


    Tuning Quick Find Views

    Even with Dataverse Search enabled, Quick Find views remain critical for two scenarios: per-table grid search (the search box directly above a view) and lookup dialog search (when users search for records to populate a lookup field). Both of these use Quick Find, regardless of your Dataverse Search settings.

    The Quick Find View Anatomy

    Every table in Dataverse has a Quick Find system view. You can find it in the Views section of any table — it's labeled "Quick Find Active [TableName]" by convention. This view has three configurable pieces:

    1. Find Columns: The columns searched when a user types. These are the "search columns" — the columns that are actually queried.
    2. Display Columns: What shows up in the result list. These should be informative enough that users can identify the right record at a glance.
    3. Sort Criteria: How results are ordered when returned.

    Warning

    A very common mistake is confusing Find Columns with Display Columns in the Quick Find view editor. Adding a column to the display columns makes it visible in results, but doesn't make it searchable. Adding it to find columns makes it searchable but doesn't necessarily show it in results. You often want both — add important columns to both lists.

    Configuring Find Columns for the Inspection Table

    Let's walk through a realistic Quick Find configuration for the Inspection table. Open the Quick Find view for Inspection in the maker portal. In the right panel, you'll see the Find by section.

    Click Add find columns and add:

    • Address (cr123_address)
    • Asset ID (cr123_assetid)
    • Work Order Number (cr123_workordernumber)
    • Inspector (the lookup to the SystemUser or Contact table)

    For Display columns, configure the view to show:

    • Work Order Number (primary identifier)
    • Address
    • Status
    • Scheduled Date
    • Inspector

    With this setup, a dispatcher who types "WO-2024-0391" will find the matching inspection immediately. An inspector who types their colleague's name will see all inspections assigned to that person. The result list shows enough context (address, status, date) to pick the right record without opening it.

    Configuring Quick Find for Lookup Dialogs

    This is where Quick Find tuning has the biggest daily impact on user experience. When a user clicks a lookup field — say, selecting an Account on an Opportunity — they get a search dialog. That dialog uses the Account table's Quick Find view.

    If the Account Quick Find view only searches the name column, a user who types "555-1234" expecting to find the account by phone number gets nothing. If you add telephone1 (Main Phone) to the Account Quick Find find columns, that search suddenly works.

    For the Account table in a typical B2B scenario, good find columns are:

    • name (Account Name — always included by default)
    • accountnumber (Account Number)
    • telephone1 (Main Phone)
    • emailaddress1 (Email)
    • address1_city (City — useful for disambiguating common company names)

    For the Contact table in a customer service scenario:

    • fullname (always included)
    • emailaddress1 (Email)
    • mobilephone (Mobile Phone)
    • telephone1 (Business Phone)
    • parentcustomerid (Account — the lookup, so users can type the company name)

    Tip

    Talk to the people who actually use the app before deciding what to make searchable. Dispatchers search differently than account managers. Salespeople search by company name; support agents search by ticket number or phone number. Your Quick Find configuration should reflect how humans actually think about finding records, not how the data model is organized.

    Performance Implications of Quick Find

    Quick Find runs synchronous database queries. Adding too many find columns expands the query surface and can noticeably slow down lookup dialogs, especially for tables with millions of records. The general guidance:

    • 3–6 find columns is the practical sweet spot for most tables
    • Avoid adding multiline text columns (Notes, Description) to Quick Find find columns — the LIKE '%term%' query on memo fields is extremely expensive
    • Add appropriate indexes at the Dataverse level for columns that appear frequently in Quick Find searches (though this is typically managed by Microsoft for standard columns)

    For high-volume tables, Dataverse Search is a much better engine for free-text searching memo fields precisely because it uses an inverted index rather than a full-table scan.


    Understanding the Search Index Sync Delay

    One of the most common sources of user confusion with Dataverse Search is the sync delay. Unlike Quick Find, which queries live data, Dataverse Search queries an index that's updated asynchronously by Microsoft's indexing service.

    How Long Is the Delay?

    In normal operation, the Dataverse Search index lags behind live data by a few minutes to about 15 minutes for most updates. New records, updated records, and deleted records all propagate to the index within this window under normal conditions.

    However, several situations can extend this delay:

    • Bulk data imports — importing 50,000 records via a dataflow or Excel import queues a massive index update job that can take hours. See Importing and Migrating Data into Dataverse: Excel Import, Dataflows, and Upserts for how to manage this.
    • New table addition to search — after enabling a table for search, the initial index build for that table's existing data runs as a batch job
    • Environment maintenance windows — Microsoft's indexing service has its own operational patterns and occasional delays

    Key insight

    If a user creates a new record and immediately searches for it in global search and can't find it, this is expected behavior. The record exists in Dataverse; it just hasn't been indexed yet. Train users that global search has a short propagation delay, and that the per-table view (which uses live data) is the right place to find records created in the last few minutes.

    Auditing Which Records Are Indexed

    There's no native UI in Power Apps that shows you "this record has been indexed / this record has not been indexed." The best diagnostic approach is to check whether a newly created or modified record appears in search after 30 minutes. If it doesn't, escalate to Microsoft support — the indexing service itself may be experiencing issues.

    For tables that were recently added to search, you can validate coverage by searching for records you know exist using unique text values. If those values return results, the index is populated.


    Hands-On Exercise: Configuring Search for a Project Management App

    Let's put all of this together with a realistic scenario. You're building a project management app for an engineering firm. The environment has these custom tables:

    • Project (with columns: Project Name, Project Code, Client Account lookup, Project Manager lookup, Description, Status)
    • Milestone (with columns: Milestone Name, Project lookup, Due Date, Completion Notes)
    • Issue (with columns: Issue Title, Project lookup, Reported By lookup, Description, Priority, Resolution Notes)

    Here's your complete search configuration plan:

    Step 1: Enable Dataverse Search

    In the Power Platform Admin Center, enable Dataverse Search for the environment. Confirm with your team that a 30-minute window of incomplete search results is acceptable before you do this during business hours.

    Step 2: Enable Tables for Dataverse Search

    Enable all three custom tables — Project, Milestone, and Issue — for search. Also confirm that Account and Contact are already in the index (they should be by default).

    Step 3: Configure Quick Find Views

    Project table Quick Find:

    • Find columns: cr_projectname, cr_projectcode, cr_clientaccount (lookup), cr_projectmanager (lookup), cr_description
    • Display columns: Project Name, Project Code, Client Account, Status, Project Manager

    Milestone table Quick Find:

    • Find columns: cr_milestonename, cr_completionnotes
    • Display columns: Milestone Name, Project (lookup), Due Date, Status

    Issue table Quick Find:

    • Find columns: cr_issuetitle, cr_description, cr_resolutionnotes
    • Display columns: Issue Title, Project (lookup), Priority, Reported By

    Do not add Due Date, Priority (choice), or Status (choice) to find columns. These are filter-oriented fields, not text-search fields.

    Step 4: Validate After Index Propagation

    After 30–45 minutes, open the model-driven app and test these searches from the global search bar:

    • Type a known project code (e.g., "ENG-2024-047") — should return the Project record
    • Type a client company name (e.g., "Meridian Engineering") — should return the Project and any Issues linked to accounts named Meridian
    • Type a phrase from a milestone's completion notes — should return that Milestone record
    • Type a project manager's name — should return all Projects managed by that person

    If any of these fail after waiting for index propagation, double-check that the relevant column is actually in the Find Columns of the Quick Find view, not just the Display Columns. This is the #1 diagnostic step.

    Step 5: Test Lookup Dialog Search

    On the Issue form, click the Project lookup field and type a partial project name. Verify it returns matching projects. If it doesn't, the Project table's Quick Find find columns aren't configured correctly, or the column you're searching isn't included.

    Similarly, test the Reported By lookup (which links to a Contact or User). Type a first name — it should return matching contacts/users.


    Common Mistakes & Troubleshooting

    "Search returns no results for records I know exist"

    Most likely cause: The table isn't enabled for Dataverse Search, or the column with the search text isn't in the Quick Find find columns.

    Diagnosis:

    1. Confirm the table is enabled for Dataverse Search
    2. Open the Quick Find view and verify the column is in Find Columns, not just Display Columns
    3. Wait 30 minutes after making changes — index propagation is not instant
    4. Try searching from the per-table grid search (above the view) — if that works but global search doesn't, it's an index propagation delay or table-level search configuration issue

    "Quick Find in the lookup dialog is too slow"

    Cause: Too many find columns, or a find column is a long multiline text field.

    Fix: Reduce find columns to the 3–5 most valuable fields. Move multiline text fields (Description, Notes) to Dataverse Search only — remove them from Quick Find find columns. Users searching by keyword phrase should use the global search bar, which uses the indexed engine.

    "Global search returns too many irrelevant results"

    Cause: Too many tables or columns indexed, or lookup columns that are pulling in distantly related records.

    Fix: Audit your table-level search configuration and remove any tables that users realistically never search for. If lookup column indexing is the issue (e.g., an Account lookup on a low-value configuration table is polluting results), remove that lookup column from the Quick Find find columns.

    "We enabled Dataverse Search but users still see the old categorized results"

    Cause: An older app that was built before Dataverse Search was enabled may have cached settings, or there's an app-level setting overriding the environment default.

    Fix: Check the model-driven app's settings. In the app designer, look for search-related app properties. Some organizations pin their apps to specific search behaviors. Republish the app after making environment-level changes.

    "A column I want to search is a Number type and can't be indexed"

    Cause: Dataverse Search doesn't index numeric column types.

    Fix: Consider creating a formula column that converts the number to text using Text() — this text column can then be added to the search index. Name it something like Project Code (Searchable) and hide it from forms. This is a legitimate pattern for asset IDs, serial numbers, and order numbers that are stored as numbers for sort/calculation purposes but need to be text-searchable.

    Warning

    Formula column search indexing has its own nuances — formula columns are calculated at query time, not stored, so verify that your specific formula column type is eligible for indexing before building your data model around this pattern. As of recent releases, simple text formula columns are indexable, but complex or cross-table formulas may not be.

    "Records created via bulk import aren't showing in search"

    Cause: Index update batch jobs for large imports can take hours.

    Fix: This is expected behavior. Communicate the delay to users. For time-sensitive scenarios, use the per-table view (which queries live data) to verify import results immediately, and use global search after index propagation is complete.

    "Dataverse Search finds records the user shouldn't have access to"

    This should not happen. Dataverse Search applies security row-level filters at query time — users only see search results for records their security role grants access to. If you're observing unexpected record visibility, the issue is in your security role configuration, not in search. Review your security role and table permission setup and verify that read access is configured as intended.


    The Relationship Between Search Configuration and View Configuration

    It's worth emphasizing a non-obvious dependency: the views you configure for your tables — particularly Quick Find views, but also the default views — determine what users see after a search, not just what they can search for. Configuring Model-Driven App Views as Default Views, Quick Find Views, and Lookup Views goes deep on this relationship. The short version: a well-configured Quick Find view makes search feel fast and contextual; a poorly configured one makes even good Dataverse Search results feel useless because the result list shows unhelpful columns.

    Similarly, when Dataverse Search returns global results and a user clicks into a specific table's results, they're taken to that table's default active view. If that view has a confusing column set or poor default sort, users will have a bad experience even though the search itself worked correctly. Search configuration and view configuration are partners.


    Summary & Next Steps

    Search is a core usability feature in any model-driven app with significant data volumes, and Dataverse Search is meaningfully better than Quick Find for global, cross-table discovery. But "enabling" it is only the beginning. The real work is:

    1. Explicitly enabling each table you want searchable — especially custom tables
    2. Configuring Quick Find views with the right find columns for both grid search and lookup dialog search
    3. Being selective about which columns are indexed — relevance and performance both suffer from over-indexing
    4. Understanding the index sync delay and setting appropriate user expectations
    5. Keeping Quick Find lean for lookup dialogs — the synchronous query cost is real

    The patterns here extend naturally into more advanced territory. Once search is configured well, users will naturally want smarter filtering within search results — which leads into configuring views as filters and building dashboard-level analytics on top of search patterns. For the dashboard side of that story, Configuring Model-Driven App Charts and Dashboards: Visualizing Dataverse Data with Built-In Analytics is the next logical stop.

    If your organization is maturing toward compliance and audit requirements, note that Dataverse Search configuration changes are themselves auditable — enabling or disabling a table for search is a customization event. The full story on tracking configuration and data changes lives in Configuring Dataverse Auditing and Field-Level Change History in Model-Driven Apps.

    Search well-configured is invisible in the best possible way. Users find what they need, trust the app, and stop workarounding it. That's the goal.

    Work With Us

    From insight to implementation

    Reading is the start. When you're ready to build the data, automation, or AI systems behind it, our team turns strategy into shipped results.

    Let's Build

    Model-Driven Apps & Dataverse

    Previous

    Configuring Model-Driven App Quick Create Forms and Main Form Fallbacks: Streamlining Record Creation Across Tables and Lookups

    Next

    Configuring Dataverse Table Queues and Routing Rules in Model-Driven Apps: Managing Work Assignment, Queue Item Lifecycles, and Team-Based Record Distribution

    Related Insights

    Power AppsExpert

    Configuring Dataverse Managed Properties and Solution Component Locking: Controlling Customizability, Preventing Downstream Modifications, and Enforcing ISV-Grade Solution Boundaries in Model-Driven Apps

    28 min
    Power AppsExpert

    Configuring Dataverse Table Capacity and Storage Partitioning: Managing Large-Table Performance, Elastic Tables, and Time-Series Data Strategies in Model-Driven Apps

    31 min
    Power AppsPractitioner

    Configuring Dataverse Environment Variables in Model-Driven App Solutions: Managing Connection References, Default Values, and Deployment-Time Overrides Across Environments

    23 min

    On this page

    • Introduction
    • Prerequisites
    • Understanding the Two Search Engines in Dataverse
    • Quick Find: The Original, Per-Table Search
    • Dataverse Search: The Modern, Cross-Table Engine
    • The Categorized Search Fallback
    • Enabling Dataverse Search at the Environment Level
    • Step 1: Navigate to Power Platform Admin Center
    • Step 2: Verify the Copilot / AI Integration Setting
    • Step 3: Understand What's Automatically Indexed
    • Configuring Searchable Tables
    • Accessing the Search Configuration Screen
    • Adding a Custom Table to Dataverse Search
    • Removing Tables from the Index
    • Configuring Searchable Columns
    • How Dataverse Search Determines Which Columns to Index
    • Choosing the Right Columns to Index
    • Column Data Type Limitations
    • Lookup Column Indexing: A Special Case
    • Tuning Quick Find Views
    • The Quick Find View Anatomy
    • Configuring Find Columns for the Inspection Table
    • Configuring Quick Find for Lookup Dialogs
    • Performance Implications of Quick Find
    • Understanding the Search Index Sync Delay
    • How Long Is the Delay?
    • Auditing Which Records Are Indexed
    • Hands-On Exercise: Configuring Search for a Project Management App
    • Step 1: Enable Dataverse Search
    • Step 2: Enable Tables for Dataverse Search
    • Step 3: Configure Quick Find Views
    • Step 4: Validate After Index Propagation
    • Step 5: Test Lookup Dialog Search
    • Common Mistakes & Troubleshooting
    • "Search returns no results for records I know exist"
    • "Quick Find in the lookup dialog is too slow"
    • "Global search returns too many irrelevant results"
    • "We enabled Dataverse Search but users still see the old categorized results"
    • "A column I want to search is a Number type and can't be indexed"
    • "Records created via bulk import aren't showing in search"
    • "Dataverse Search finds records the user shouldn't have access to"
    • The Relationship Between Search Configuration and View Configuration
    • Summary & Next Steps