Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.1, 7.0
    • Component/s: Facet Module
    • Labels:
      None

      Description

      Non-JSON facet is widely used and telemetry is helpful is diagnosing expensive queries. As first step, the JIRA is to design telemetry for field facet.

      Example: (using films)

      $curl 'http://localhost:8228/solr/films/select?debugQuery=true&facet.field=genre&facet.field=directed_by&facet=true&indent=on&q=*:*&wt=json'
      ...
          "facet-trace":{
            "elapse":1,
            "sub-facet":[{
                "processor":"SimpleFacets",
                "elapse":1,
                "action":"field facet",
                "maxThreads":0,
                "sub-facet":[{
                    "method":"FC",
                    "inputDocSetSize":1100,
                    "field":"genre",
                    "numBuckets":213},
                  {
                    "method":"FC",
                    "inputDocSetSize":1100,
                    "field":"directed_by",
                    "numBuckets":1053}]}]},
      ...
      
      1. SOLR-9026.patch
        13 kB
        Michael Sun
      2. SOLR-9026.patch
        12 kB
        Michael Sun

        Activity

        Hide
        hossman Hoss Man added a comment -

        Manually correcting fixVersion per Step #S5 of LUCENE-7271

        Show
        hossman Hoss Man added a comment - Manually correcting fixVersion per Step #S5 of LUCENE-7271
        Hide
        yseeley@gmail.com Yonik Seeley added a comment -

        I changed "facet-trace-nonjson" to "facet-debug" and committed.
        Thanks Michael!

        Show
        yseeley@gmail.com Yonik Seeley added a comment - I changed "facet-trace-nonjson" to "facet-debug" and committed. Thanks Michael!
        Hide
        jira-bot ASF subversion and git services added a comment -

        Commit 30dd6dd5bcf42082fa795202ee56f6890d01eb78 in lucene-solr's branch refs/heads/branch_6x from Yonik Seeley
        [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=30dd6dd ]

        SOLR-9026: add facet telemetry for legacy facets

        Show
        jira-bot ASF subversion and git services added a comment - Commit 30dd6dd5bcf42082fa795202ee56f6890d01eb78 in lucene-solr's branch refs/heads/branch_6x from Yonik Seeley [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=30dd6dd ] SOLR-9026 : add facet telemetry for legacy facets
        Hide
        jira-bot ASF subversion and git services added a comment -

        Commit b42945ea92f8bcb9b6b00a07f13ee52a300e8899 in lucene-solr's branch refs/heads/master from Yonik Seeley
        [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=b42945e ]

        SOLR-9026: add facet telemetry for legacy facets

        Show
        jira-bot ASF subversion and git services added a comment - Commit b42945ea92f8bcb9b6b00a07f13ee52a300e8899 in lucene-solr's branch refs/heads/master from Yonik Seeley [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=b42945e ] SOLR-9026 : add facet telemetry for legacy facets
        Hide
        michael.sun Michael Sun added a comment -

        Just upload a new patch with all these issues addressed. cc Yonik Seeley

        Show
        michael.sun Michael Sun added a comment - Just upload a new patch with all these issues addressed. cc Yonik Seeley
        Hide
        michael.sun Michael Sun added a comment -

        Thanks Yonik Seeley for reviewing. Here is my thoughts.

        "facet-trace" is the same name used for JSON Facet API, right? If both faceting components are used at the same time, does this work?

        That's good point. Let me separate them.

        it seems like one would really want elapsed time per facet.field (i.e per-sub-facet)?

        I think so, particularly when the query has multiple field faceting, it's good to know which field faceting causes problem.

        Show
        michael.sun Michael Sun added a comment - Thanks Yonik Seeley for reviewing. Here is my thoughts. "facet-trace" is the same name used for JSON Facet API, right? If both faceting components are used at the same time, does this work? That's good point. Let me separate them. it seems like one would really want elapsed time per facet.field (i.e per-sub-facet)? I think so, particularly when the query has multiple field faceting, it's good to know which field faceting causes problem.
        Hide
        yseeley@gmail.com Yonik Seeley added a comment -

        Looking good... a couple of quick points:

        • "facet-trace" is the same name used for JSON Facet API, right? If both faceting components are used at the same time, does this work?
        • it seems like one would really want elapsed time per facet.field (i.e per-sub-facet)?
        • instead of changing "long elapse" to "Long elapse", perhaps just use "-1" to detect if it's been set?
        • "fdebugCurrentTermCount" is oddly named... perhaps just "fdebug"?
        Show
        yseeley@gmail.com Yonik Seeley added a comment - Looking good... a couple of quick points: "facet-trace" is the same name used for JSON Facet API, right? If both faceting components are used at the same time, does this work? it seems like one would really want elapsed time per facet.field (i.e per-sub-facet)? instead of changing "long elapse" to "Long elapse", perhaps just use "-1" to detect if it's been set? "fdebugCurrentTermCount" is oddly named... perhaps just "fdebug"?

          People

          • Assignee:
            Unassigned
            Reporter:
            michael.sun Michael Sun
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development