Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For detailed information about the Lucene syntax, see Apache Lucene - Query Parser Syntax.

WSO2 DAS Lucene Query Extensions

Timestamp Operations on Fields

WSO2 DAS support only the primitive data types in persisting data, thus it does not have special timestamp daa type as such. For this, user should use a LONG data type when sending timestamp values. In the case of querying these fields as timestamp fields, it is convenient for the user to give values in a string timestamp format, rather than direct long values. The string format for this is "yyyy-MM-dd HH:mm:ss z", e.g. "2015-01-02 15:22:10 GMT+6". This value will be converted to a Unix timestamp long value and will be used for searching.

Sample Queries

  • surname: "Smith" AND birthdate: "2015-01-02"
  • log_level: "WARN" AND timestamp: [2015-10-01 01:05:20 TO 2015-12-15 00:00:00]

 

Search with Multi-Word Values

In Lucene, if a field of type STRING is instructed to be indexed, it will be tokenized and indexed, so the field can be searched with each individual word values. If the full value must be searched as a whole, and if we consider the target field name is "x", the field we must search would be "_x", which will search for the full value that is given. For example, if we have a field "name" indexed, and if the entry "Will Smith" is stored, among others, we can search for all names which has "Smith", with the following query:-

  • name: "Smith"

If we want to search for the whole name, the following query can be used:-

  • name: "Will Smith"