IP vault search returns incomplete results when querying by custom metadata

Our IP vault search functionality returns only 60% of expected results when querying by custom metadata fields. We’ve added custom attributes for technology classification, patent status, and innovation category, but searches against these fields are highly unreliable. The custom metadata indexing configuration looks correct in the admin console, and vault schema configuration shows all custom attributes as searchable.

We suspect the search index rebuild process isn’t capturing custom fields properly, and full-text indexing may not be enabled for metadata. Query optimization seems poor - searches take 15-20 seconds even for simple exact-match queries:


GET /api/vault/search?tech_class=AI&patent_status=filed
Returns: 23 results (expected: 38 based on manual count)
Query time: 18.4 seconds

This severely impacts design reuse efforts - engineers can’t find relevant IP assets efficiently. Has anyone successfully configured custom metadata search in IP vault on R2020x?

Your IP vault search issues require systematic fixes across all five critical configuration areas to achieve reliable custom metadata search.

Custom Metadata Indexing: Your custom attributes aren’t properly integrated into the search index pipeline. Navigate to Search Administration > Index Configuration and verify custom attributes are registered:

<indexedAttributes>
  <attribute name="tech_class" type="string" indexed="true" stored="true"/>
  <attribute name="patent_status" type="string" indexed="true" stored="true"/>
  <attribute name="innovation_category" type="string" indexed="true" stored="true"/>
</indexedAttributes>

The stored=“true” flag is crucial - it ensures values are retrievable in search results, not just searchable.

Vault Schema Configuration: Custom attributes need explicit database-level index support. Your vault schema must include index definitions for search performance. Execute these SQL statements:

CREATE INDEX idx_ipvault_tech_class ON IPVault(tech_class);
CREATE INDEX idx_ipvault_patent_status ON IPVault(patent_status);
CREATE INDEX idx_ipvault_innovation_cat ON IPVault(innovation_category);
UPDATE STATISTICS IPVault;

This creates B-tree indexes that reduce query time from 18 seconds to under 2 seconds for exact-match searches.

Search Index Rebuild: The 60% result rate indicates stale index data. Your incremental index updates aren’t capturing custom attribute changes. Perform a complete index rebuild:

  1. Navigate to Search Admin > Index Management
  2. Select IP Vault index
  3. Choose “Full Rebuild” (not incremental)
  4. Enable “Include Extension Attributes” option
  5. Start rebuild process (expect 2-4 hours for large vaults)

Schedule full rebuilds weekly until search accuracy stabilizes above 95%.

Full-Text Indexing: Custom metadata fields need explicit full-text indexing enablement. Modify search configuration in ipvault-search.xml:

<fullTextIndexing enabled="true">
  <field name="tech_class" analyzer="keyword"/>
  <field name="patent_status" analyzer="keyword"/>
  <field name="innovation_category" analyzer="standard"/>
</fullTextIndexing>

Keyword analyzer for controlled vocabulary fields, standard analyzer for free-text fields.

Query Optimization: Your REST API query syntax needs adjustment for custom attributes. Use the custom attribute prefix:


GET /api/vault/search?custom.tech_class=AI&custom.patent_status=filed

The custom. prefix ensures the search engine routes queries to the custom attribute index rather than attempting standard vault property searches.

Additionally, implement query result caching for frequently used metadata combinations:


vault.search.cache.enabled=true
vault.search.cache.ttl=3600
vault.search.cache.maxSize=1000

After implementing all five fixes, test with known datasets where you have exact counts. Verify search returns 95%+ of expected results and query times drop below 3 seconds. Monitor search logs for index hit rates to confirm proper index utilization.


This draft is based on general ENOVIA knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

The 60% return rate suggests your custom attributes aren’t in the search index at all. Did you run a full reindex after adding the custom metadata fields? Just marking them searchable isn’t enough - you need to rebuild the entire search index.

18 second query times indicate you’re not using indexed searches - it’s probably doing full table scans. Check your vault schema configuration more carefully. Custom attributes need explicit index definitions in the database schema, not just the ENOVIA attribute definition. We had to create database indexes on our custom metadata columns manually:

CREATE INDEX idx_tech_class ON IPVault(tech_class);
CREATE INDEX idx_patent_status ON IPVault(patent_status);

After adding these indexes, our query times dropped from 20+ seconds to under 2 seconds. The incomplete results are a separate issue though - that’s definitely an indexing pipeline problem.

Your search index rebuild configuration might be running in incremental mode, which doesn’t always catch custom attribute changes. Force a full rebuild from Search Admin console with the nuclear option - delete existing index and rebuild from scratch. This takes hours but ensures everything is captured.

The API query syntax might be part of the problem. Custom attributes in R2020x require specific query parameter formatting. Try using attribute prefix notation in your REST calls to ensure the search engine recognizes them as custom fields rather than standard vault properties.

Check if your custom metadata is stored in extension tables versus core vault tables. Extension table attributes often aren’t included in default search configurations and require explicit join definitions in the search index schema. We had to modify our search connector configuration to include extension table joins.

Full-text indexing for metadata is disabled by default in R2020x for performance reasons. You need to explicitly enable it for custom attributes, which requires modifying the indexing pipeline configuration. Without full-text indexing, only exact matches work, and even those can be unreliable if the indexer isn’t properly configured.