Search: Advanced syntax
Linkurious Enterprise offers a native user interface to do advanced search in the graph.
For advanced users, it is possible to directly use the search syntax in the search bar:
- This search syntax is proprietary to Linkurious Enterprise even though it bears some similarities with other search languages such as Lucene;
- The search syntax does not depend on which search vendor Linkurious Enterprise is connected to, the search vendors' own syntax (e.g. Elasticsearch syntax) cannot be used;
- The results returned and their ordering however depends on the search vendor and its configuration.
Syntax and examples
The search syntax accepts 3 expression types:
Value
- Description:
- It is a "standard" search. It can contain one or multiple terms.
- The search terms are searched against all indexed properties.
- Examples:
john
- The term
"john"
is searched against all indexed properties. - Fuzziness is applied to
"john"
.
- The term
john doe
- Both terms
"john"
and"doe"
are searched against all indexed properties, without consideration for order or distance between the terms. - Fuzziness is applied independently to
"john"
and"doe"
.
- Both terms
"john doe"
- The exact expression
"john doe"
is searched against all indexed properties. - Fuzziness is not applied.
- The exact expression
Type
- Description:
- A type expression restricts the search to a single node category or edge type.
- A type expression is characterized by a prefix
type:
- A type expression is case-sensitive.
- Fuzziness is not applied.
- Examples:
type:Person
: search on nodes of category "Person"type:"Big Customer"
: double-quotes are mandatory for a category/type containing special characters, such as a space.
Property
- Description:
- A property expression restricts the search to a specific property.
- A property expression is characterized by a prefix
$property-key:
where$property-key
is the name of the property. - The expression may contain one or multiple terms that are searched against the property whose property key is prefixed, provided it is indexed.
- Examples:
name:john
- The term
"john"
is searched against propertyname
. - Fuzziness is applied to
"john"
.
- The term
name:(john doe)
- Both terms
"john"
and"doe"
are searched against propertyname
, without consideration for order or distance between the terms. - Fuzziness is applied independently to
"john"
and"doe"
. - Note that the parentheses are mandatory, otherwise the search has a different meaning (see more query examples at the bottom).
- Both terms
name:"john doe"
- The exact expression "john doe" is searched against property
name
. - Fuzziness is not applied.
- The exact expression "john doe" is searched against property
More examples
paris type:City
search for "City" nodes with any property containing the term"paris"
name:john doe
search for all nodes for which there is:- A property
name
containing"john"
. - Any property containing
"doe"
.
- A property
"serial number":"T3492E"
search for all nodes with propertyserial number
matching exactly"T3492E"
.
Searching for numbers and dates
Numerical and date search only works with Elasticsearch on properties declared as "Number" or "Date" in the graph schema. To learn more please check how to configure numerical/date search.
Authorized operators:
- Higher than or equal
>
- Lower than or equal
<
- Range
[x y]
These operators must be followed by a number or an
ISO date string (i.e. yyyy-mm-dd
).
Examples:
age:>20
age:[10 to 100]
age:[1.2 to 5,4]
dateOfBirth:[1980-01-01 2000-12-31]