Since version 11.3, Wedia relies on ElasticSearch for full text and structured search. All SQL or SQL + Full text queries go through ElasticSearch. The RDBMS is only used to retrieve instances identified by the ElasticSearch search.
Full-text syntax
Info | ||
---|---|---|
| ||
The content of this article is only valid from version 11.6 onwards. |
A "full text" search does not require any special syntax elements. Just list the words you want to search for a result, e.g.: green boat
Prior to version 11.6, the previous search looked for all documents containing both "boat" AND "green".
From version 11.6 onwards, this same search finds all documents containing boat OR green. On the other hand, it is possible to refine this search to obtain the previous result by prefixing the two obligatory words with a '+':
+boat +green
Some words can also be excluded. Using the previous example, we can specify that we do not want green sailboats by prefixing veil of a '-':
+boat +green -sail
The previous search can return boats on a green background. If you want to make sure to find green boat, you can specify the exact phrase:
+"green boat" -sailing
Finally, if you are looking for a boat whose reference is vaguely known, it is possible to do a search starting with suffixing the reference by '*':
+boat +REF25*
Info | ||
---|---|---|
| ||
Prefix searching is not implemented for performance reasons. A search on F25 will not have the desired effect. |
To summarize:
Prefix with '+' to force the presence of a term.
Prefix '-' to exclude the presence of a term.
Surround with '"' to search for an exact phrase.
It is possible to force or exclude a sentence: +"green boat" -"red boat"
From 11.7 onwards, you can also prefix a term with '~' to specify whether a term is wanted but not mandatory. This modifier comes with a new global parameter (/ebNAdministration) of the full text search that allows you to globally specify whether searches without modifier (e. g. white boat) are rewritten to "+boat + white" (search "all terms") or "~boat ~white" (search "at least one term"). By default, the "~Boat ~White" shape is selected to respect the ascending compatibility.
There is also a shortcut to search directly for an instance whose id is known by typing: #id.
zSyslucene object
Info | ||
---|---|---|
| ||
This section applies for developers migrating from a Lucene based to a ElasticSearch based version. |
The use of ElasticSearch entails some changes to be taken into account when developing new applications or migrating existing ones.
First of all, the zSyslucene object is no longer supported. Its use does not generate errors but will not give any correct results. This choice was made to avoid leakage of the internal structure of the ElasticSearch index and thus facilitate the evolutions on the latter. Result: any use of zSyslucene will have to be migrated on a normal SQL + Full text object by object search. This research is very successful and there is no longer any reason to do otherwise. The next version of Wedia should provide a "global" search API on all indexed objects to facilitate development.
...