@@ -445,6 +445,42 @@ the supported format and features.
445
445
446
446
.. _`documentation for configuring the native-fts`: admin_guide.html#configuring-native-fts-full-text-search
447
447
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
+
448
484
Using the Classhelper
449
485
---------------------
450
486
@@ -771,3 +807,4 @@ If the author of the message is also in the nosy list for the item that
771
807
the message is attached to, then the config var ``MESSAGES_TO_AUTHOR``
772
808
is queried to determine if they get a nosy list copy of the message too.
773
809
810
+ .. _`RPN`: https://en.wikipedia.org/wiki/Reverse_Polish_notation
0 commit comments