Testing Query Pipeline Changes

Query pipelines and their rules are very powerful tools allowing you to manage many query situations with great flexibility, but this flexibility may become overwhelming complexity.

  • Test each query pipeline modification with a JavaScript Search page on a test pipeline before applying it to the production pipeline.

  • Take advantage of the query pipeline A/B Testing feature to partially put the modification in production, allowing you to evaluate the effect on real queries made by real users.

To test query pipeline changes

  1. If not already done, create a test pipeline to be used only for test purposes.

    You can simply duplicate your production pipeline, the one used by the search interface to which you want to make a change (see Managing Query Pipelines). This way, the only difference between the production and the test pipeline will be the change you will make. Rename the duplicated pipeline to something meaningful.

    You duplicate your Community pipeline and rename the duplicate as Community_TEST_duplicate_yyyy-mm-dd so you will know when it was duplicated and maybe delete it when outdated, rather creating a new duplicate.

  2. If not already done, make the desired specific change to your test pipeline rule(s) (see Managing Query Pipelines).

  3. Quickly test your pipeline change in the Content Browser:

    1. In the Query Pipelines page, at the end of the row for the pipeline that you want to test, click the Actions icon (Icon-SourceActions), and then select Open in Content Browser.

    2. In the Content Browser page, perform queries to validate the change you made to this specific pipeline.

  4. Test a pipeline change in a JavaScript Search page just for your session:

    1. Access the JavaScript Search page for which you want to test the pipeline change.

    2. Perform a query that would meet the condition to make your change visible. Because the search page is still using the production pipeline, the change should not be visible.

    3. In the browser address box, add the pipeline= query string parameter followed by the name of your test pipeline, and then run the query again.

      This time, the query will go through your test pipeline. This method only affects your queries, not anyone else.

      • When it is the first query parameter after the page host name and path:

        https://search.mycompany.com?pipeline=Community_TEST_duplicate_2015-11-05

      • When it is not the first query parameter after the page host name and path:

        https://search.mycompany.com?param1=value1&pipeline=Community_TEST_duplicate_2015-11-05

    4. Perform the same query that meets the condition to make your change visible and ensure that it behaves as expected.

  5. When you are satisfied with your change, consider first testing your change on a fraction of the production traffic using A/B Testing (see Managing A/B Tests).

    1. Consider creating and using a usage analytics report to compare key metrics for the A and B query pipeline and confirm the improvement over a given period (see Analyzing the Performance of Pipeline A Vs Pipeline B).

    2. When you are entirely sure you want to bring your change to the production pipeline, swap your production (A) pipeline with your test (B) pipeline (see Managing Query Pipelines).

      You can also copy the changed rule from the B to the A pipeline (see Copy a Rule to Another Pipeline).

  6. Remove the pipeline= query string parameter from the search page URL, and then perform the same query that meets the condition. This makes your change visible, allowing you to ensure that the search page behaves as expected.