Knowledge Articles searches need to only return the most current published version

siddharthjain09
Tera Contributor

Hi,

 

I want that when performing a global search, it should displays only the most recent published version of each Knowledge Article that matches search criteria.

 

Please do let me if you guys have any solution for this problem statement.

 

Regards,

Siddharth

1 ACCEPTED SOLUTION

SIVASANKARIS
Tera Guru

Hi @siddharthjain09 ,

In ServiceNow, how Global Search works depends on the UI you’re using:

Next Experience UI → uses Search Sources

Core UI / UI15 → uses Search Groups

Since your requirement is to show only the latest published version of Knowledge Articles, you need to configure the Knowledge search source (Next Experience) or search group (Core UI) accordingly.

 

Next Experience UI
In Next Experience, Global Search is controlled by Search Sources.
A Search Source defines which table is searchable and what conditions should apply.

Navigation:

  • All → System Definition → Search Sources
  • Open the search source: Knowledge & Catalog – Knowledge, Open table: kb_knowledge
  • In the Conditions field, add:latest = true AND workflow_state = published

Verify it is linked to Global Search
Navigation:

  • All → AI Search → Search Experience → Search Applications
  • Open: Now Experience Search Configuration
  • Check Application Search Sources related list
  • Make sure Knowledge source is present

for Core UI / UI15
Here Global Search uses Search Groups.

Navigation: 

  • All → System Definition → Search Groups
  • Open: Knowledge & Catalog, Open Text Search Tables related list, Open table: kb_knowledge
  • Add condition: latest = true AND workflow_state = published

Refer the below article for this

https://www.servicenow.com/docs/bundle/zurich-platform-administration/page/administer/search-adminis...

 

 

If Changes are not visible, rebuild the index

Next we have to rebuild the index to reflect our changes

Steps to Reindex (Full Table Index)
Navigation:

  • All → AI Search → AI Search Index → Indexed Sources
  • Open Indexed Sources  → Select the source(s) you want to reindex
    (You’ll see an alert icon if records are not indexed)
  • Click: Actions on selected rows…, Select: Index All Tables
  • System will queue an indexing job, Open the record to monitor status: Ingestion State = Indexed → completed

How to monitor progress

  • Open the indexed source
  • Go to Indexed Source History
  • Refresh page, Check: Status, Start time, Completion

Refer the below article for indexing

https://www.servicenow.com/docs/bundle/washingtondc-platform-administration/page/administer/ai-searc...

 

If this is useful, Please Mark it as helpful and Please Accept My Solution...

 

Best Regards

SIVASANKARI S

View solution in original post

4 REPLIES 4

SIVASANKARIS
Tera Guru

Hi @siddharthjain09 ,

In ServiceNow, how Global Search works depends on the UI you’re using:

Next Experience UI → uses Search Sources

Core UI / UI15 → uses Search Groups

Since your requirement is to show only the latest published version of Knowledge Articles, you need to configure the Knowledge search source (Next Experience) or search group (Core UI) accordingly.

 

Next Experience UI
In Next Experience, Global Search is controlled by Search Sources.
A Search Source defines which table is searchable and what conditions should apply.

Navigation:

  • All → System Definition → Search Sources
  • Open the search source: Knowledge & Catalog – Knowledge, Open table: kb_knowledge
  • In the Conditions field, add:latest = true AND workflow_state = published

Verify it is linked to Global Search
Navigation:

  • All → AI Search → Search Experience → Search Applications
  • Open: Now Experience Search Configuration
  • Check Application Search Sources related list
  • Make sure Knowledge source is present

for Core UI / UI15
Here Global Search uses Search Groups.

Navigation: 

  • All → System Definition → Search Groups
  • Open: Knowledge & Catalog, Open Text Search Tables related list, Open table: kb_knowledge
  • Add condition: latest = true AND workflow_state = published

Refer the below article for this

https://www.servicenow.com/docs/bundle/zurich-platform-administration/page/administer/search-adminis...

 

 

If Changes are not visible, rebuild the index

Next we have to rebuild the index to reflect our changes

Steps to Reindex (Full Table Index)
Navigation:

  • All → AI Search → AI Search Index → Indexed Sources
  • Open Indexed Sources  → Select the source(s) you want to reindex
    (You’ll see an alert icon if records are not indexed)
  • Click: Actions on selected rows…, Select: Index All Tables
  • System will queue an indexing job, Open the record to monitor status: Ingestion State = Indexed → completed

How to monitor progress

  • Open the indexed source
  • Go to Indexed Source History
  • Refresh page, Check: Status, Start time, Completion

Refer the below article for indexing

https://www.servicenow.com/docs/bundle/washingtondc-platform-administration/page/administer/ai-searc...

 

If this is useful, Please Mark it as helpful and Please Accept My Solution...

 

Best Regards

SIVASANKARI S

vaishali231
Giga Guru

hii @siddharthjain09 

 

This is a common requirement with Knowledge Management.

By default, global search can return multiple versions of the same Knowledge Article if versioning is enabled. To make sure only the most recent published version is shown, you need to control how search indexes and filters knowledge records.

 

Below are the recommended approaches.

 

Approach 1. Use the “Published” and “Latest” flags

 

ServiceNow already maintains version related fields on the knowledge table.

What to check:
Ensure global search is filtering records where
Workflow state is Published
Latest is true

Only the latest published version of an article has the Latest field set to true. Older versions automatically have Latest set to false.

If global search is configured correctly, only those records should appear.

 

Approach 2. Update the Knowledge Search Source

 

Go to Global Search Sources and open the Knowledge search source.

Verify the conditions include:
Workflow state equals Published
Latest equals true

If Latest is missing, add it as a condition. This ensures older published versions are excluded from search results.

 

Approach 3. Rebuild the search index

After changing search conditions, rebuild the text index.

Steps:
Go to System Definition and Text Indexes
Rebuild the index for the Knowledge table

This is important, otherwise old versions may still appear in search results.

Approach

 

4. Verify Knowledge Versioning settings

 

Check Knowledge Properties and confirm:
Only one version is marked as Published at a time
Older versions are automatically retired or marked as not latest

If multiple versions are published, search will still show them.


*************************************************************************************************************
If this response helps, please mark it as Accept as Solution and Helpful.
Doing so helps others in the community and encourages me to keep contributing.

Regards
Vaishali Singh

Its_Sagnic
Mega Guru

Hi @siddharthjain09 ,

Try

To ensure that Global Search only returns the most recent published version of a Knowledge Article, you must configure the platform's search sources or groups to filter by the latest field. By default, ServiceNow’s versioning system stores all versions in the kb_knowledge table, and without this filter, multiple versions of the same article may appear in search results. 
Depending on which interface you are using in 2026, follow the appropriate method:
 
1. For Next Experience UI (AI Search)
In modern environments using AI Search, you must update the Search Source condition:
  1. Navigate to System Definition > Search Sources.
  2. Locate the search source used for Knowledge (typically Knowledge & Catalog – Knowledge).
  3. In the Conditions field, add the following filters:
    • Latest is true
    • Workflow state is Published.
  4. Re-index the Source: Navigate to AI Search > AI Search Index > Indexed Sources, select the kb_knowledge source, and click Index All Tables to apply the changes to the search index. 
 
2. For Core UI / UI15 (Zing Search)
If you are using the legacy search engine, you must modify the Search Group:
  1. Navigate to System Definition > Search Groups.
  2. Open the Knowledge & Catalog search group.
  3. Go to the Text Search Tables related list and open the kb_knowledge record.
  4. Add the same condition: latest=true^workflow_state=published. 
 
3. Verification & Best Practices
  • The 'Latest' Flag: The latest field (Boolean) is automatically managed by the Knowledge Management Advanced plugin. It is only set to true for the most current version of an article.
  • Access Controls (ACLs): Ensure that users do not have custom "Read" ACLs that allow them to bypass these search conditions, as some legacy ACLs may still show retired or outdated versions if a user has the direct URL.
  • Global Property: Ensure the property glide.knowman.versioning.enabled is set to true to maintain proper versioning logic. 

yashkamde
Tera Guru

 

*Use kb_knowledge table (not kb_knowledge_version)

Global Search should always index kb_knowledge, because:

  • It stores only the latest published version

  • Older versions live in kb_knowledge_version

1)

  • Go to System Definition → Tables

  • Open kb_knowledge

  • Ensure Search enabled = true


2)Enforce Query Filter (If duplicates still appear)

Add this condition in the Search Source condition:

workflow_state = published

If available in your instance, also ensure:

latest = true

 
If you find this helpul plz mark as helpful..