XAF module for global full-text search across all business objects with WebAPI support.
$ dotnet add package Cundi.FullTextSearchA global full-text search module for DevExpress XAF applications. Search across all business objects from a single entry point.
Add the module reference to your XAF Module project:
// In your Module.cs
RequiredModuleTypes.Add(typeof(Cundi.XAF.FullTextSearch.FullTextSearchModule));
Modify GlobalSearchService properties:
var searchService = new GlobalSearchService(objectSpace, typesInfo)
{
MaxResultsPerType = 50, // Max results per object type
MaxTotalResults = 200 // Total max results
};
Override IsSystemType in GlobalSearchService to customize which types are excluded.
Use attributes to control which types and properties are included in global search:
using Cundi.XAF.FullTextSearch.Attributes;
// Exclude an entire type from global search
[GlobalSearchable(false)]
public class InternalConfig : BaseObject
{
// ...
}
// Exclude specific properties from search
public class Customer : BaseObject
{
public string Name { get; set; }
[GlobalSearchableProperty(false)]
public string InternalNotes { get; set; } // Won't be searched
}
## Architecture
| File | Description |
|------|-------------|
| `GlobalSearchResult.cs` | Non-persistent result object |
| `GlobalSearchService.cs` | Core search logic |
| `GlobalSearchController.cs` | Action and UI handling |
| `GlobalSearchResultNavigationController.cs` | Result navigation |
## Requirements
- DevExpress XAF 24.2+
- .NET 8.0+