Summary: A description of the various search methods available in CAST Imaging.

Current view search

The search option is limited to the current view.

The current view search option allows you to search an item in the Current view and then highlight them in the viewIt can be accessed by clicking the Search icon:

When clicked, the search panel will be displayed, listing all items currently displayed in the view:

Entering a search string will automatically list items that match and are present in the current view - for example, the string "book" has been entered:

In versions ≥ 2.14 Objects can be searched either by entering the Object name or Object full name:

Any items you want to highlight in the view can be selected individually, or you can select multiple items, or all items:

Each selected item will be highlighted in the view:

Click to enlarge

In ≥ 2.17.1-beta1, when working on a particular view, if you select object/s, the selected objects are retained in the search modal (on the canvas) unless you clear it from the search modal.

In Object search you can view the selected objects with an pulse effect (the pulse effect for the slected object remains for few seconds then it is highlighted).

All application (global) search options

The "all application" Search option allows you to search across the entire Application:

  • for specific objects using search strings , object types, tags and properties (Object search)
  • text added to the Document-It feature (Document search)
  • via the cypher query language (Cyper search) - users with the ADMIN role only

You can access the search feature as follows:

Custom scope - see User Guide - Custom scope

Search icon in task bar

Right click a node/object - search is limited to the selected node

This option only functions in Level 5:

  • In ≥ 2.19, When you perform a custom search and open a custom view it opens in a new tab (the content of the existing tab is retained). If you have already opened a custom view and are trying to append any object the changes are reflected in the same custom view.

           

  • In ≥ 2.18, to do a global search, you must enter a keyword with a minimum of two characters. The below notification is displayed if keyword is less than two characters.

         

Object search

≥ 2.19

The standard search popup will be displayed. To search for an object:

  • ensure you are working in the OBJECTS tab
  • enter the object name and/or filter on:
    • a specific object type
    • a specific tag or tags - see User Guide - Working with tags for more information about Tags (note that when filtering via tags, any objects previously selected and displayed in the view will remain selected in the next search, regardless of whether they are tagged or not).
    • a specific object property

In ≥ 2.20,

  • You may search Internal and External Object Types.

           

  • You may do a comment based search.

 

  • Based on properties configured in admin center, the properties are displayed in right panel as applicable to the selected object and all the configured properties are available in the global search.
  • Columns of global search modal can be resized by dragging the separators between the column headers.

 2.18

Access via Search view menu or Search icon on task bar

The standard search popup will be displayed. To search for an object:

  • ensure you are working in the OBJECTS tab
  • enter the object name and/or filter on:

Explicit search button 

Available in ≥ 2.18.1

Search can be triggered by clicking on the explicit search button or by pressing "Enter" key. The input field and search button are disabled when the search is in progress.

  • For “FILTER BY” options “Select Object Type(s)” and “Tags” it not mandatory to have minimum 2 letters for search. The search is triggered automatically once you select either “Select Object Type(s)” and “Tags”.
  • Any change in "ADVANCED CONFIGURATIONS"(like Regex pattern, Case sensitivity, and Search by position) triggers search when the input search string is minimum of 2 characters
Search only for objects

Enter the string to search for - i.e. the string to match specific object names. You can choose more advanced search options if required:

Regex pattern

Enable this option to search via a regular expression (disabled by default).

In ≥ 2.19

To optimize regex, a new full-text index based search query is introduced. This search query expects the regex keyword expression in a different pattern from generic regular expression. To get the desired results, you need to create regex keyword expressions using the following ways.

  1. Digits matching - "[0-9]", "[0,6]"
  2. Wildcard matching for single character for multiple-characters - ".", ".*"
  3. Alphabet matching - "[a-z]","[A-Z]"
  4. Matching case-sensitive words - "keyword"
  5. Matching case-insensitive words - "[kK]eyword" 
  6. Matching Special Characters - "Code_[0-9]{5}"
  7. Optional Characters and Quanitifiers - "?", "+"
  8. Matching Repetitions - "{n}"
  9. Excluding character - "[^asd]"

The "AND/OR" between filters will work between the advanced filters. The combination of advanced filters will be applied to the regex search result, leading to an "AND" case result between the filter combination and regex search result.

Case sensitiveEnable this option to do a case sensitive search (disabled by default).
Search by: Name/FullnameSelect as appropriate. The search string will be applied to the options you choose.
Search by positionSelect as appropriate to specify where in the string the match should occur. By default this is set to Start.

These filter settings are persistent for the duration of the user session (i.e. until a log out occurs), therefore you will not need to re-enter them when you perform a new search.

Filter by

You can filter the search results to narrow down the number of items that will be returned. Use the Filter By slider to do so:

Select Insight(s) option is available in ≥ 2.19 only. For details on Insights see here.


Between filters

You can use this option to configure whether you want to filter:

  • On strings (content of Search only for objects) AND specific object types/tags/object properties
  • On strings (content of Search only for objects) OR specific object types/tags/object properties
Select an object type(s)

Choose if you want to limit the search results to specific object types:

This filter is automatically set to use an OR option with tags and object properties.

Select a tag(s)

Choose if you want to search for objects based on the tags that have been added in CAST Imaging (see User Guide - Working with tags for more information about Tags). You can select an AND or OR option:

Search objects by properties
Available in ≥ 2.9.

This section allows you to perform an object search based on specific object property values that were calculated during the analysis (before the application was imported into CAST Imaging). In the example below, multiple properties have been added using an AND configuration:

  • Match all objects with a Cyclomatic Complexity value equal to 1

AND

  • Match all objects with a Number of code lines value equal to 30

AND

  • Match all objects with an Essential Complexity value equal to 20

You can add new properties using the drop down list - note that the list of properties available to search is controlled by the ADMIN/SUPER ADMIN. See Admin Center - Search panel.

Use the red icon to remove properties that you have already added:

Search results are displayed in the "List of objects" window. By default the first 100 matching items are displayed - scrolling down through the results will show additional matching items:

1 - DownloadThis option will download to .CSV file all the items in the list which have a tick in the checkbox. Note that this button is only visible if the Objects Export option is enabled in Configuring display preferences.
2 - VisualizeThis option will display in the view all the items in the list which have a tick in the checkbox.
3 - List of objects

This option will auto select (i.e. put a tick in the checkbox) up to 100 items at any one time - if there are less than 100 matching items, then all of the items will be selected.

In version ≥ 2.14, an option is provided to set the limit for number of search results to be displayed. For example: By setting the limit to 500, you may see 500 objects at once, and for each scroll the next 500 results in the list are displayed. Selecting ‘All’ lets you view all the results. 

4 - NumberThe number in the blue circle indicates the number of items that have been selected.
5 - Showing X out of XIndicates the number of matching items that are displayed.
6 - Check boxesUse the check box to select an item and then use the Download or Visualize options.


  • You can add additional objects/nodes to the Search view in successive searches without losing any existing nodes added to the view.
  • If you need to clear the view you can click the Clear icon located in the Investigate panel - see User Guide - GUI - Investigate panel.

  • Existing nodes that have been added to the Search view can be removed by deselecting the nodes which will already be selected when the search is re-opened (by clicking the Search icon on the toolbar) and then clicking Visualize.

Access via node/object right click

When using the search option via the node/object right click contextual menu whilst in Level 5, the search will be performed as a "selective expand" on the originally selected objects - i.e. results are limited to the children/children,callers,callees/children&callers/children&callees. Therefore, the search box is presented in a slightly different way:

Results are displayed and handled in the same way as using the Access via Search view menu or Search icon on task bar.

Document search

  • This feature is available in ≥ 2.0.0.
  • Currently documents added to nodes in Level views cannot be searched.

Document search allows you to search for text added using the Document-It feature:

  • ensure you are working in the DOCUMENT tab
  • Choose the search scope:
    • View document (a document added to a view)
    • Object document (a document added to a specific object or group of objects)
  • enter the search string and filter on a specific tag or tags - see User Guide - Working with tags for more information about Tags

Click to enlarge

Results are displayed and handled in the same way as using the Access via Search view menu or Search icon on task bar.

Cypher search

Cypher search is a feature that allows you to directly query the Neo4j database using "cypher query" - a specific functional language. You can use the "Cypher" tab in the Search view to run your queries:

The Cypher search option is only enabled for users with the default SUPER ADMIN and ADMIN roles. If you would like to enable it for other users, either modify an existing role to enable the Cypher Search or create a new role specifically for that - see Admin Center - Roles panel:

You need to enable at a minimum the READ and CREATE permissions to perform a query. The Cypher language is powerful and enabling the UPDATE and DELETE permissions will allow users to perform cypher queries which can update or delete existing application data.

Note that if you are attempting to return object properties in a Cypher search, then you should be aware that the "return distinct" clause will not work and in this specific situation you should use a "return *"" clause instead.

Legacy dedicated Document-It document search

When more than six Document-It documents have been added to a view, it is possible to perform a search of all the documents within the view. Use the following icon to access the search facility:

A search box will then be displayed showing all the documents present on the view. Enter a search string to perform the search - searches are actioned on the title, description text and tags:

Clicking an item in the results list will display the corresponding document in the view.