Line: 1 to 1 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Query Search | ||||||||||
Line: 22 to 23 | ||||||||||
| ||||||||||
Added: | ||||||||||
> > |
| |||||||||
| ||||||||||
Line: 47 to 49 | ||||||||||
| ||||||||||
Added: | ||||||||||
> > |
| |||||||||
| ||||||||||
Added: | ||||||||||
> > |
| |||||||||
| ||||||||||
Changed: | ||||||||||
< < | Most things at the top level of the plan - META:TOPICPARENT , META:TOPICINFO etc - are structures which are indexed by keys. For example, META:TOPICINFO has 4 entries, which are indexed by the keys author , date , format and version . META:FILEATTACHMENT , META:FIELD and META:PREFERENCE are all arrays, which means they can have any number of records under them. Arrays are indexed by numbers - for example, the first entry in the META:FIELD array is entry 0. | |||||||||
> > | Most things at the top level of the plan - META:TOPICPARENT , META:TOPICINFO etc - are structures which are indexed by keys. For example, META:TOPICINFO has 4 entries, which are indexed by the keys author , date , format and version . META:FILEATTACHMENT , META:FIELD and META:PREFERENCE are all arrays, which means they can have any number of records under them. Arrays are indexed by numbers - for example, the first entry in the META:FIELD array is entry 0. The field specifier arraysize returns the number of items in an array, for example, attachments.arraysize returns the number of attachments. | |||||||||
It's a bit clumsy having to type META:FILEATTACHMENT every time you want to refer to the array of attachments in a topic, so there are some predefined aliases that make it a bit less typing:
| ||||||||||
Line: 72 to 76 | ||||||||||
This plan is referenced using a simple syntax:
| ||||||||||
Changed: | ||||||||||
< < |
| |||||||||
> > |
| |||||||||
| ||||||||||
Line: 86 to 90 | ||||||||||
If X would conflict with the name of an entry or alias (e.g. it's moved or maybe parent ), you can prepend the name of the form followed by a dot, as shown in the last example.
Constants | ||||||||||
Changed: | ||||||||||
< < | You use constants for the values that you compare with fields. Constants are either strings, or numbers. Strings are always delimited by single-quotes (you can escape a quote using backslash). Numbers can be any integer or floating point number. | |||||||||
> > |
You use constants for the values that you compare with fields. Constants are either strings, or numbers. Strings are always delimited by single-quotes (you can escape a quote using backslash). Numbers can be any integer or floating point number. Constants can be supplied by TWikiVariables, such as '%TOPIC%' representing the current topic name. | |||||||||
Operators | ||||||||||
Line: 110 to 115 | ||||||||||
![]() Putting it all together | ||||||||||
Added: | ||||||||||
> > | ||||||||||
When a query is applied to a topic, the goal is to reduce to a TRUE or FALSE value that indicates whether the topic matches that query or not. If the query returns TRUE, then the topic is included in the search results.
A query matches if the query returns one or more values when it is applied to the topic. So if I have a very simple query, such as "attachments" , then this will return TRUE for all topics that have one or more attachments. If I write "attachments[size>1024 AND name ~ '*.gif']" then it will return TRUE for all topics that have at least one attachment larger than 1024 bytes with a name ending in .gif .
Gotcha | ||||||||||
Changed: | ||||||||||
< < |
| |||||||||
> > |
| |||||||||
Examples | ||||||||||
Line: 120 to 127 | ||||||||||
ExamplesQuery examples | ||||||||||
Added: | ||||||||||
> > | ||||||||||
| ||||||||||
Changed: | ||||||||||
< < |
| |||||||||
> > |
| |||||||||
| ||||||||||
Changed: | ||||||||||
< < |
| |||||||||
> > |
| |||||||||
Search examples | ||||||||||
Added: | ||||||||||
> > | ||||||||||
Find all topics that are children of this topic in the current web
%SEARCH{"parent.name = '%TOPIC%'" web="%WEB%" type="query"}% | ||||||||||
Line: 150 to 160 | ||||||||||
Searched: Threat='Amber' AND text ~ '*cold virus*'
Results from TWiki web retrieved at 04:37 (GMT)<--/twikiTopRow--> Query Search Query searches help you search the contents of forms attached to your topics, as well as the values of other meta data attached to the topic. Using query... <--/twikiSummary--> <--/twikiBottomRow--> <--/patternSearchResult--> Number of topics: 1 <--/patternSearchResultCount--> | ||||||||||
Changed: | ||||||||||
< < | Related Topics: SearchHelp, VarSEARCH, FormattedSearch, TWiki:TWiki/QuerySearchPatternCookbook![]() | |||||||||
> > | Related Topics: IfStatements, SearchHelp, VarSEARCH, FormattedSearch, TWiki:TWiki/QuerySearchPatternCookbook![]() |