You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2018/01/23 09:15:26 UTC

lucene-solr:master: SOLR-11648: A new admin UI to display and execute suggestions

Repository: lucene-solr
Updated Branches:
  refs/heads/master 2f4f8932c -> 288ed174a


SOLR-11648: A new admin UI to display and execute suggestions


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/288ed174
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/288ed174
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/288ed174

Branch: refs/heads/master
Commit: 288ed174acfd6bbfeb5f0ca714eeae1ccd328502
Parents: 2f4f893
Author: Noble Paul <no...@apache.org>
Authored: Tue Jan 23 20:15:16 2018 +1100
Committer: Noble Paul <no...@apache.org>
Committed: Tue Jan 23 20:15:16 2018 +1100

----------------------------------------------------------------------
 solr/CHANGES.txt                                |   2 +
 solr/webapp/web/css/angular/menu.css            |   1 +
 solr/webapp/web/css/angular/suggestions.css     |  46 +++++++++++++++++
 solr/webapp/web/img/ico/idea.png                | Bin 0 -> 732 bytes
 solr/webapp/web/img/ico/run.png                 | Bin 0 -> 1205 bytes
 solr/webapp/web/index.html                      |   4 ++
 solr/webapp/web/js/angular/app.js               |   4 ++
 .../angular/controllers/cluster-suggestions.js  |  45 +++++++++++++++++
 .../web/partials/cluster_suggestions.html       |  49 +++++++++++++++++++
 9 files changed, 151 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/288ed174/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index bbd91f7..d0700b6 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -103,6 +103,8 @@ New Features
 
 * SOLR-11592: Add OpenNLP language detection to the langid contrib. (Koji, Steve Rowe)
 
+* SOLR-11648: A new admin UI to display and execute suggestions (Apoorv Bhawsar , noble)
+
 Bug Fixes
 ----------------------
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/288ed174/solr/webapp/web/css/angular/menu.css
----------------------------------------------------------------------
diff --git a/solr/webapp/web/css/angular/menu.css b/solr/webapp/web/css/angular/menu.css
index 0e73a59..998c5e3 100644
--- a/solr/webapp/web/css/angular/menu.css
+++ b/solr/webapp/web/css/angular/menu.css
@@ -257,6 +257,7 @@ limitations under the License.
 
 #menu #collections.global p a { background-image: url( ../../img/ico/documents-stack.png ); }
 #menu #cores.global p a { background-image: url( ../../img/ico/databases.png ); }
+#menu #cluster-suggestions.global p a { background-image: url( ../../img/ico/idea.png ); }
 
 #menu #cloud.global p a { background-image: url( ../../img/ico/network-cloud.png ); }
 #menu #cloud.global .tree a { background-image: url( ../../img/ico/folder-tree.png ); }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/288ed174/solr/webapp/web/css/angular/suggestions.css
----------------------------------------------------------------------
diff --git a/solr/webapp/web/css/angular/suggestions.css b/solr/webapp/web/css/angular/suggestions.css
new file mode 100644
index 0000000..ef764f3
--- /dev/null
+++ b/solr/webapp/web/css/angular/suggestions.css
@@ -0,0 +1,46 @@
+#cluster-suggestions
+.s-container{
+    text-align:center;
+}
+#cluster-suggestions
+.s-box1{
+    background-image: url( ../../img/ico/run.png );
+    background-color: transparent;
+    background-repeat: no-repeat;
+    border: none;
+    cursor: pointer;
+    vertical-align: middle;
+    display:inline-block;
+    width:20px;
+}
+#cluster-suggestions
+.s-box2{
+    display:inline-block;
+}
+#cluster-suggestions
+.s-box3{
+    display:inline-block;
+}
+#cluster-suggestions
+.s-box4{
+    display:inline-block;
+}
+#s-table {
+    border-collapse: collapse;
+    width: 60%;
+}
+
+#s-table td, #customers th {
+    border: 1px solid #ddd;
+    padding: 8px;
+}
+
+#cluster-suggestions #s-table tr:nth-child(even){background-color: #f2f2f2;}
+
+#cluster-suggestions #s-table th {
+    padding-top: 12px;
+    padding-bottom: 12px;
+    text-align: left;
+    background-color: #4CAF50;
+    color: white;
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/288ed174/solr/webapp/web/img/ico/idea.png
----------------------------------------------------------------------
diff --git a/solr/webapp/web/img/ico/idea.png b/solr/webapp/web/img/ico/idea.png
new file mode 100644
index 0000000..8b3abbd
Binary files /dev/null and b/solr/webapp/web/img/ico/idea.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/288ed174/solr/webapp/web/img/ico/run.png
----------------------------------------------------------------------
diff --git a/solr/webapp/web/img/ico/run.png b/solr/webapp/web/img/ico/run.png
new file mode 100644
index 0000000..dc35fe3
Binary files /dev/null and b/solr/webapp/web/img/ico/run.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/288ed174/solr/webapp/web/index.html
----------------------------------------------------------------------
diff --git a/solr/webapp/web/index.html b/solr/webapp/web/index.html
index 35cd196..54203bc 100644
--- a/solr/webapp/web/index.html
+++ b/solr/webapp/web/index.html
@@ -41,6 +41,7 @@ limitations under the License.
   <link rel="stylesheet" type="text/css" href="css/angular/stream.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/replication.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/schema.css?_=${version}">
+  <link rel="stylesheet" type="text/css" href="css/angular/suggestions.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/segments.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/threads.css?_=${version}">
   <link rel="stylesheet" type="text/css" href="css/angular/chosen.css?_=${version}">
@@ -78,6 +79,8 @@ limitations under the License.
   <script src="js/angular/controllers/replication.js"></script>
   <script src="js/angular/controllers/schema.js"></script>
   <script src="js/angular/controllers/segments.js"></script>
+  <script src="js/angular/controllers/cluster-suggestions.js"></script>
+
 
 </head>
 <body ng-controller="MainController">
@@ -157,6 +160,7 @@ limitations under the License.
             <li id="java-properties" class="global" ng-class="{active:page=='java-props'}"><p><a href="#/~java-properties">Java Properties</a></li>
 
             <li id="threads" class="global" ng-class="{active:page=='threads'}"><p><a href="#/~threads">Thread Dump</a></p></li>
+            <li id="cluster-suggestions" class="global" ng-class="{active:page=='cluster-suggestions'}"><p><a href="#/~cluster-suggestions">Suggestions</a></p></li>
 
           </ul>
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/288ed174/solr/webapp/web/js/angular/app.js
----------------------------------------------------------------------
diff --git a/solr/webapp/web/js/angular/app.js b/solr/webapp/web/js/angular/app.js
index 1b7aa00..ad96ce0 100644
--- a/solr/webapp/web/js/angular/app.js
+++ b/solr/webapp/web/js/angular/app.js
@@ -67,6 +67,10 @@ solrAdminApp.config([
         templateUrl: 'partials/java-properties.html',
         controller: 'JavaPropertiesController'
       }).
+      when('/~cluster-suggestions', {
+        templateUrl: 'partials/cluster_suggestions.html',
+        controller: 'ClusterSuggestionsController'
+      }).
       when('/:core', {
         templateUrl: 'partials/core_overview.html',
         controller: 'CoreOverviewController'

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/288ed174/solr/webapp/web/js/angular/controllers/cluster-suggestions.js
----------------------------------------------------------------------
diff --git a/solr/webapp/web/js/angular/controllers/cluster-suggestions.js b/solr/webapp/web/js/angular/controllers/cluster-suggestions.js
new file mode 100644
index 0000000..bdb2a37
--- /dev/null
+++ b/solr/webapp/web/js/angular/controllers/cluster-suggestions.js
@@ -0,0 +1,45 @@
+solrAdminApp.controller('ClusterSuggestionsController',
+function($scope,$http) {
+    $scope.data={}
+    var dataArr =[];
+    var dataJson = {};
+    //function to display suggestion
+    $http({
+       method: 'GET',
+       url: '/api/cluster/autoscaling/suggestions'
+    }).then(function successCallback(response) {
+         $scope.data = response.data;
+         $scope.parsedData = $scope.data.suggestions;
+      }, function errorCallback(response) {
+      });
+    //function to perform operation
+    $scope.postdata = function (x) {
+        x.loading = true;
+        var path=x.operation.path;
+        var command=x.operation.command;
+        var fullPath='/api/'+path;
+        console.log(fullPath);
+        console.log(command);
+        $http.post(fullPath, JSON.stringify(command)).then(function (response) {
+            if (response.data)
+            console.log(response.data);
+            x.loading = false;
+            x.done = true;
+            x.run=true;
+            $scope.msg = "Post Data Submitted Successfully!";
+        }, function (response) {
+            x.failed=true;
+            $scope.msg = "Service not Exists";
+            $scope.statusval = response.status;
+            $scope.statustext = response.statusText;
+            $scope.headers = response.headers();
+        });
+    };
+    $scope.showPopover = function() {
+      $scope.popup = true;
+    };
+
+    $scope.hidePopover = function () {
+      $scope.popup = false;
+    };
+});

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/288ed174/solr/webapp/web/partials/cluster_suggestions.html
----------------------------------------------------------------------
diff --git a/solr/webapp/web/partials/cluster_suggestions.html b/solr/webapp/web/partials/cluster_suggestions.html
new file mode 100644
index 0000000..cbb05b2
--- /dev/null
+++ b/solr/webapp/web/partials/cluster_suggestions.html
@@ -0,0 +1,49 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<div id="cluster-suggestions">
+    <h1>Cluster Suggestions</h1>
+    <br/>
+    <table id="s-table">
+        <tr>
+            <td>Type</td>
+            <td>Reason</td>
+            <td>Action</td>
+        </tr>
+        <tr ng-if="parsedData.length==0">
+            <td>NA</td>
+            <td>NA</td>
+            <td>NA</td>
+        </tr>
+        <tr ng-repeat="x in parsedData">
+            <td>{{ x.type }}</td>
+            <td>{{ x.violation.clause }}</td>
+            <td>
+                <div class="s-container">
+                    <input class="s-box1" ng-hide="x.run" type="button"
+                           title="{{ x.operation }}" ng-click="postdata(x)" ng-mouseover="showPopover()"
+                           ng-mouseleave="hidePopover()"/>
+                    <div class="s-box2" ng-show="x.loading"><img src="img/loader.gif"></div>
+                    <div class="s-box3" ng-show="x.done"><img src="img/ico/tick.png"></div>
+                    <div class="s-box4" ng-show="x.failed"><img src="img/ico/cross.png"></div>
+                </div>
+            </td>
+        </tr>
+    </table>
+
+</div>
+