String Input mode


String input mode is the current Markify solution for building search queries with ProSearch plarform. 

 

For simple requests with one or several TM name terms, it is convenient to use Custom strategy mode (see an article dedicated to this topic here), however, for more complex queries, String input is recommended. 

 

You can access this mode through the link at the bottom of your search form:

 

 

Useful tip: if you fill out search parameters in the search form as usual, and then switch to String input, these parameters will be automatically “translated” into String input with all necessary operators. So it is sometimes easier to start with that, and then add additional parameters. 

 

 

See an example below:

 

 

Moreover, on the section to the right, you can find the list of all field names, filters, and basic operators:

 

A note: 

Further in this article, we are providing a detailed description of operators, and you can also find this info at the link See full list of operators and examples”.

 

Query example:

A screenshot of a computer

Description automatically generated

@name (cat -dog) | (cat -mouse) @gas pets -food

This search uses all the most common operators, and here is the breakdown of the query:

It should find name results that have the word 'cat' but do not have the word 'dog' in the same result. Or find results that have the word 'cat' but do not have the word 'mouse' in the same result.

Additionally, the result should have the ’pets’ but not ’food” within the goods and services description.

 

TM example retrieved by this query is below:

A white rectangular object with a black border

Description automatically generated with medium confidence

 

 

The full list of supported operators for String Input:

  • *   -> multiple character wildcard, matches 0 or any character occurrence  
  • % -> zero/one character wildcard, matches 0 or 1 any character occurrence
  • ?  -> single character wildcard, matches exactly 1 any character occurrence 
  • ~  ->  vowel wildcard, matches any wildcard in a specified position in the searched term, or substitutes vowels used within the term, if placed at the beginning of the term 
  • Filed start (^) and end ($) operators
  • Phrase search operator (")
  • Exclude stemming operators (=
  • NOT operators (-) and (!
  • OR operators (OR) and (|)
  • AND operators (&) and implicit space between words
  • Grouping/combining operator ()
  • NEAR/ operator
  • Strict order operator (operator "BEFORE") (<<)


Detailed explanation for operators

 

  • *   -> multiple character wildcard, matches 0 or any character occurrence  

Using * you will get results where the wildcard stands for multiple characters, one character, or no characters at all.

This way, searching for “ni*e” can produce NIE, or NICE, or NITROXILE, or similar, possibly as part of larger terms.

  • % -> zero/one character wildcard, matches 0 or 1 any character occurrence

Using % you will get results where there are no characters in place of % (no character occurrence), or only one character occurrence.

For example, searching for “NI%E” , you can retrieve NIE or NIBE

  • ?  -> single character wildcard, matches exactly 1 any character occurrence 

Using ?, you will get results where the question mark stands for only 1 character occurrence. 

For example, searching for “NI?E” , you can retrieve NIKE

  • ~  -> vowel wildcard, matches any wildcard in a specified position in the searched term, or substitutes vowels used within the term, if placed at the beginning of the term 

~nike - searching this way, you will get all vowels substituted, so produced results can be NOKO and NAKI, for example

 

Or you can use this wildcard within specific position of the searched term, and only substitute vowels there. For example,  n~ke   will product NOKE and NIKE. And NIK~ will produce NIKE and NIKA.

 

Please keep in mind the operators sequence to use if you would like to combine this with phrase operator and string start/string end operator:
~="^nike$" 

Searching this way, you will get all substituted vowels within the exact frame e.x. ="^n~k~$".

  • Filed start (^) and end ($

Using start (^) and end ($) string operators, you can limit your searched term to the exact frame, as the system will make the keyword match only if it occurred at the very start or the very end of a fulltext field, respectively.

For example, ="^wrigley's extra$” can only produce wrigley’s extra with no additional words or characters. That is the option for retrieving an absolute identical match in this case. 

  • Phrase search operator (

Phrase search operator defines your name criteria as a standalone unit, so for example, "green mission" is treated as one joint search term with no operators in-between (e.g. space between words is treated as implicit operator AND, so in this case, the search engine will not be treating two terms with AND-correlation but understand this is a word combination)

  • Exclude stemming (=

By default, string input searching includes stemming for searched terms. Operator = before the searched term will exclude any stemming 

For example, =cloth will produce results where only "cloth" appears and exclude clothes/clothing etc.

  • NOT operators (-) and (!)

 Use – or ! before the searched term to exclude results with certain parameters
For example, accela -automation or accela !automation will search for accela and exclude any results where automation is mentioned.

  • OR operators (OR) and (|)

You can either enter the terms with OR operator or use | operator
For example, accela OR automation, accela | automation.

  • AND operators (&) and implicit space between words

You can enter search terms using space and the system will process it as an explicit operator AND. Or you can use & between words 

For example, accela automation, accela & automation will be both treated as accela AND automation.

  • Grouping/combining operator ()

You can use brackets to group your searched terms

For example, (accela automation) | (accela civic platform) 

  • NEAR/ operator

NEAR operator is a generalized version of a proximity operator. The syntax is NEAR/N, it is case-sensitive, and no spaces are allowed between the NEAR keyword, the slash sign, and the distance value.

With its help, you can configure the proximity of search terms next to one another in produced results.

For example, ice NEAR/3 cream can return ICED OUT ORANGE CREAM, with cream being the 3rd term next to the ice(d)

Respectively, NEAR/1 will produce TM results where searched terms are located next to each other, and AAA NEAR/2 BBB will produce results where BBB is in the second position towards the AAA, meaning there is one more term in-between.

 

  • Strict order operator (aka operator "before") in Saegis is called adjacency (<<)

<< is used when you want the searched words to appear in the same sequence

For example, iced << orange << cream will return ICED OUT ORANGE CREAM, but will not return ORANGE ICED CREAM
 

Additional useful notes:

Diactric symbols normalization:

All diacritic characters are normalized, so you can search without them and get such characters among results and vice versa. 

Numeric search

You can search the number you want to retrieve as a word (four) or as a digit (4). Also, you can combine these variations by using operators to cover all possibilities: seven or 7.