Fundamentals > Windchill Search > Search Reference > Advanced Mode Searching
  
Advanced Mode Searching
When the Search Mode preference is set to Advanced, keyword searches behave differently.
You can use Solr query syntax in your keyword search strings
Keywords are joined using the OR operator by default
* 
When performing a keyword search in advanced mode, you are executing a raw Solr query. Windchill does not apply any preprocessing to the search string or to the results.
Because the Solr schema is highly customizable, before using advanced mode you should first become familiar with the field names, scoring metrics, and query parser syntax implemented at your site.
For example, you create the following objects in Windchill:
Wheel
Shaft
Wheel and Shaft Assembly
You perform a keyword search for wheel shaft. Your results are different depending on whether Search Mode is set to Simple or Advanced:
Simple
Advanced
Wheel and Shaft Assembly
Wheel
Shaft
Wheel and Shaft Assembly
In Simple mode, the keyword is joined by AND. The results must include both “wheel” and “shaft.”
In Advanced mode, the keyword is joined by OR. The results can include either “wheel,” “shaft,” or both.
You perform another keyword search for wheel NOT shaft:
Simple
Advanced
Wheel
In Simple mode, Windchill searches for objects that include all three strings: “wheel,” “not,” and “shaft.” No objects are returned.
In Advanced mode, Solr recognizes NOT as a boolean operator, and searches for objects that include the word “wheel” but do not include “shaft.”
The following table includes useful Solr commands that can be entered in the Keyword field when using advanced search mode. For more information, see the Lucene query parser reference.
Capability and Operator
Description and Example
Phrase searching:
“ ”
Surround a phrase with double quotes to search for an exact match to the phrase.
Keyword: “main shaft”
Returns all objects that include the exact phrase ‘main shaft’:
main shaft 0123
Specifications for Main Shaft
Excludes objects that include similar words, or both words in a different order:
Main Central Shaft
Shaft 890 Main
Single character wildcard:
?
Return objects with one character in place of the question mark.
Keyword: spec_?12?
Returns objects that include the following strings:
spec_B125
spec_512C
spec_#12d
Multiple character wildcard:
*
Return objects with zero or more characters in place of the asterisk.
Keyword: *sig*
Returns objects that include the following strings:
design
designer
signal
Fuzzy search:
~
Returns objects containing strings that are either an exact match or are similar without being an absolute match.
By default, up to 2 edits are allowed.
Keyword: lever~
Returns objects that include the following strings:
clever
lower
seven
letter
Excludes objects are more than 2 edits from the original:
closer
flower
litter
* 
To change the “fuzziness” of your search, you can specify the how many edits are allowed. For example, lever~1 only allows one edit. As a result, the search would return “clever” but not “clover.”
Boolean operators:
AND or &&
OR or ||
NOT or !
Enter search strings with a boolean operator between them.
Keyword: wheel && shaft
Keyword: wheel AND shaft
Returns results that include both strings:
Wheel Shaft Assembly
shaft_wheel.prt
Keyword: wheel || shaft
Keyword: wheel OR shaft
Returns results that include one or more strings:
Wheel Shaft Assembly
shaft_wheel.prt
022_Shaft
Wheel Dimensions
Keyword: wheel !shaft
Keyword: wheel NOT shaft
Returns results that include the first string but not the second string:
022_Shaft
Wheel Dimensions
Required and prohibited operators:
+
Requires that the string following the plus sign be present in returned objects. The string following the minus sign cannot be present in returned objects.
Keyword: +bearing roller
Returns objects that contain ‘bearing’ and can optionally contain ‘roller’:
Roller Bearing Sizes
Bearing Ball Supplier
Keyword: +bearing -roller
Returns objects that contain ‘bearing’ but which do not contain ‘roller’:
Bearing Ball Supplier
Field name search:
<field>:<query>
Enter a field name followed by a colon and a query.
Keyword: name:wheel
Returns all objects with ‘wheel’ in the Name attribute field.
* 
You can combine the field name search with other query operators. However, if you are searching for multiple strings, you must use parenthesis or include the field name with every string.
For example, to search the Name field for objects that include ‘wheel’ but not ‘shaft,’ use one of the following formats:
Keyword: name:(wheel NOT shaft)
Keyword: name:wheel NOT name:shaft
* 
When specifying a field, use the Solr name. See below for more information.
Range search:
<field>:[<criteria> TO <criteria>]
<field>:{<criteria> TO <criteria>}
Enter a field name followed by a colon and a number, date, or non-numeric range. Values must be in square or curly brackets and joined with the TO operator.
Ranges within square brackets ([) are inclusive; ranges within curly brackets ({) are exclusive.
Keyword: number:[10000 TO 10200]
Returns all objects with number values from 10000 to 10200 (including the limits of the range).
Keyword: number:{10000 TO 10200}
Returns all objects in range 10000 to 10200 excluding the limits of the range.
Keyword: createTimestamp:[2015-10-04T00:00:00Z TO 2015-10-20T00:00:00Z]
Returns all objects created between October 4, 2015 and October 20, 2015.
* 
When specifying a field, use the Solr name. See below for more information.
Proximity search:
"<search string>"~<number>
Returns objects with a value that includes both strings within a certain distance from each other.
Keyword: "camshaft chain"~4
Returns objects that contain a value in which no more than four strings separate ‘camshaft’ and ‘chain’:
Camshaft and chain
Camshaft parts including chain
Excludes objects that contain a value in which ‘camshaft’ and ‘chain’ are separated by more than four strings:
Camshaft 56 78x Project-ZX Multi Chain
Language-specific keyword search:
keyword_<language code>:<keyword>
Returns the results of the advanced search command in the designated language.
Keyword: keyword_zh:p1
Initiates a keyword search for “p1” in Chinese.
* 
The system default is keyword_en for English. To modify the system default to accept advanced search commands in another language, see Language Customization.
* 
When incorporating field names in your search, use the Solr dashboard to find the appropriate field identifiers.
Perform a query that includes the following:
Enter any keyword in the q field.
Enter an asterisk (*) wildcard in the fl field to show all fields.
Select xml from the wt option menu.
The attribute field names are displayed for each result.