= Core-Specific Tools
:page-children: ping, plugins-stats-screen, replication-screen, segments-info
// 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.

The Core-Specific tools are a group of UI screens that allow you to see core-level information.

In the left-hand navigation bar, you will see a pull-down menu titled "Core Selector". Clicking on the menu will show a list of Solr cores hosted on this Solr node, with a search box that can be used to find a specific core by name.

When you select a core from the pull-down, the main display of the page will show some basic metadata about the core, and a secondary menu will appear in the left nav with links to additional core specific administration screens.

.Core overview screen
image::images/core-specific-tools/core_dashboard.png[image,width=515,height=250]

The core-specific UI screens are listed below, with a link to the section of this guide to find out more:

// TODO: SOLR-10655 BEGIN: refactor this into a 'core-screens-list.include.adoc' file for reuse
* <<ping.adoc#,Ping>> - lets you ping a named core and determine whether the core is active.
* <<plugins-stats-screen.adoc#,Plugins/Stats>> - shows statistics for plugins and other installed components.
* <<replication-screen.adoc#,Replication>> - shows you the current replication status for the core, and lets you enable/disable replication.
* <<segments-info.adoc#,Segments Info>> - Provides a visualization of the underlying Lucene index segments.
// TODO: SOLR-10655 END

If you are running a single node instance of Solr, additional UI screens normally displayed on a per-collection bases will also be listed:

// TODO: SOLR-10655 BEGIN: refactor this into a 'collection-screens-list.include.adoc' file for reuse
* <<analysis-screen.adoc#,Analysis>> - lets you analyze the data found in specific fields.
* <<dataimport-screen.adoc#,Dataimport>> - shows you information about the current status of the Data Import Handler.
* <<documents-screen.adoc#,Documents>> - provides a simple form allowing you to execute various Solr indexing commands directly from the browser.
* <<files-screen.adoc#,Files>> - shows the current core configuration files such as `solrconfig.xml`.
* <<query-screen.adoc#,Query>> - lets you submit a structured query about various elements of a core.
* <<stream-screen.adoc#,Stream>> - allows you to submit streaming expressions and see results and parsing explanations.
* <<schema-browser-screen.adoc#,Schema Browser>> - displays schema data in a browser window.
// TODO: SOLR-10655 END
