@@ -445,6 +445,42 @@ the supported format and features.
445445
446446.. _`documentation for configuring the native-fts`: admin_guide.html#configuring-native-fts-full-text-search
447447
448+ Advanced Searching with Property Expressions
449+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
450+
451+ You can create more advanced searches in your tracker by using Reverse
452+ Polish Notation (`RPN`_) to make property expressions. By default, when
453+ filtering by multiple items, the expression type is 'or'. For
454+ instance, if you filter the property assignedto by adding the query
455+ string element "assignedto=2,3,40", it matches users "2 or 3 or
456+ 40". In RPN, this would be written as "2, 3, or, 4, or". Roundup uses
457+ negative numbers to represent operators. For example, using "-1" for a
458+ single value (e.g. the assignedto Link property, but not the keyword
459+ multivalued/MultiLink property) matches an issue where the property is
460+ 'not set'.
461+
462+ The operators and their corresponding numbers are:
463+
464+ * 'not' is represented by -2
465+ * 'and' is represented by -3
466+ * 'or' is represented by -4
467+
468+ So, "assignedto=2,3,40" is the same as
469+ "assignedto=2,3,-4,40,-4". While this example is the same as
470+ "2,3,40", the expression "keyword=1,2,-3,-2" filters issues that don't
471+ have both keywords 1 and 2.
472+
473+ Another example is: ``creator=3,-2,1,-2,-3``. This is the same as the
474+ expression: ``(not user3) and (not user1)``. Using the rules of logic,
475+ this is the same as: ``not (user3 or user1)`` which is expressed in
476+ RPN as ``creator=3,1,-4,-2``. Compare this to ``creator=3,1,-2`` which
477+ returns issues created by user3 or any user other than user1.
478+
479+ Typing these expressions manually can be tiresome, so there's an
480+ expression editor on the search page. You can access it by clicking on
481+ the ``(expr)`` link, which makes creating these expressions a bit
482+ easier.
483+
448484Using the Classhelper
449485---------------------
450486
@@ -771,3 +807,4 @@ If the author of the message is also in the nosy list for the item that
771807the message is attached to, then the config var ``MESSAGES_TO_AUTHOR``
772808is queried to determine if they get a nosy list copy of the message too.
773809
810+ .. _`RPN`: https://en.wikipedia.org/wiki/Reverse_Polish_notation
0 commit comments