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 numbers and dates
Search on numbers and dates only works with Elasticsearch under specific conditions. If you want to set this up, please get in touch.
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]