Some notes about Lucene http://lucene.apache.org
- Wild card searches with wild card elements "*" or "?" at the start are allowed; however they are not exposed in the standard QueryParser.
- Wild card elements are not allowed in phrase searches.
- The sloppy phrase match appears to be ordered but is not.
- We would need something extra to implement an XPath based query.
- The index has positional information for each token in a field.
- We could make use of this to do our own structured path query as it effectively encodes depth.
- The same mechanism can be used to insert synonyms.
- There can be more then one term at the same position.
- Alternatively synonyms can be handled on the query building side.
- We could use a similar idea to encode inheritance of both type and mix-ins.
- Multi-valued fields are treated as if they were tokenised in phrase searches.
The Lucene book is very good, much better that the web site and the project documentation. I recommend you read it.