The documents are returned sorted on relevance depending on order, proximity, frequency of terms.
Default search behavior
By default, all search terms are optional. It behaves like an OR logic. Objects that contain the more terms are rated higher in the results and will appear first in their type. For example, wiki forum will find:
- objects that include both terms
- objects that include the term wiki
- objects that include the term forum
Requiring terms
Add a plus sign ( + ) before a term to indicate that the term must appear in results. Example: +wiki forum will find objects containing at least wiki. Objects with both terms and many occurences of the terms will appear first.
Excluding terms
Add a minus sign ( - ) before a term to indicate that the term must not appear in the results. To reduce a term's value without completely excluding it, use a tilde. Example: -wiki forum will find objects that do not contain wiki but contain forum
Grouping terms
Use parenthesis ( ) to group terms into subexpressions. Example: +wiki +(forum blog) will find objects that contain wiki and forum or that contain wiki and blog in any order.
Finding phrases
Use double quotes ( " " ) around a phrase to find terms in the exact order, exactly as typed. Example: "Alex Bell" will not find Bell Alex or Alex G. Bell.
Using wildcards
Add an asterisk ( * ) after a term to find objects that include the root word. For example, run* will find:
- objects that include the term run
- objects that include the term runner
- objects that include the term running
Reducing a term's value
Add a tilde ( ~ ) before a term to reduce its value indicate to the ranking of the results. Objects that contain the term will appear lower than other objects (unlike the minus sign which will completely exclude a term). Example: +wiki ~forum will rate an object with only wiki higher that an object with wiki and forum.
Changing relevance value
Add a less than ( < ) or greater than ( > ) sign before a term to change the term's contribution to the overall relevance value assigned to a object. Example: +wiki +(>forum < blog) will find objects that contain wiki and forum or wiki and blog in any order. wiki forum will be rated higher.
Representation information using XML Schema
According the SRR outcomes it was required an analysis to consider the feasibility of using an alternative approach to the binary data representation. This new approach should be based on instances of a common general XML schema, instead of binary data representation using a single SDF schema as it is nowadays being used by SAFE.
At this level, the first analysis to be done (before provide a solution) should be to confirm if a schema validation for the representation language is really needed for SAFE. In that sense, the attached document “Representation Information in XML Trade-off” (PDGS-SAFE-GMV-TN-12-0066) provides some conclusions not recommending this approach.
This is the summary of the conclusions (please, have a look to the document for further details):
- As the binary/text file within a SAFE product to be represented is not and XML file, there is no need to assume a XML standard validation mechanism.
- Existing languages (e.g. SDF, DFDL, …) needed to specify the representation information schemas are W3C compliant (the are well-formed and make a correct usage of annotation field).
- Syntactic validation for the representation information schema can be implemented with specific existing tools for the representation schemas described for example in DFDL or SDF (there is no need to have a general common schema).
- Semantic validation would be still needed for the binary/text files stored within a SAFE product.
- A common general XML schema won’t provide relevant added value and would have less expressive power respect to the languages already available.
- The current approach implemented by SAFE eases the conversion of the information contained in a file (binary or text) into a corresponding XML document (simplifying the implementation of APIs similar to DOM and SAX).
This topic discussion and the analysis result presented in the attached document are intended to reach a consensus before the PDR-C because the final solution may imply a change in the format design that has to be considered for the SAFE Core Specification update.
All your comments will be appreciated.
Adrián Sanz (GMV)
LTDP SAFE Project Manager