Searching for Tracker documents
Using the user interface
Coder Studio, Coder Cloud, and the Server Admin web interface each present user interface elements for viewing and searching Tracker documents albeit used differently.
Viewing all documents
The Tracker view displays all existing documents in the Tracker search index. To open this view, click the Tracker button from Coder Studio's toolbar.
You can select which instance's Tracker data gets rendered in the view using the Instagrate Instance dropdown. Furthermore, you can update displayed results using the refresh button and Auto refresh checkbox.
The Tracker view displays all existing documents in the Tracker search index. To open this view, select the Tracker tab from Coder Cloud's docked bottom panel.
Soon, coupled instance's Tracker data will be dislplayed. You can update displayed results using the refresh button and Auto refresh checkbox.
Can't find the Tracker tab?
If the bottom panel of Coder Cloud is not visible, go down to the bottom of the page and click on the arrow button to make it appear.
Go to the static search bar located at the top of the Server Admin web interface. Select Tracker from the dropdown, and click the search button to go to the Tracker page.
The Tracker page will display all documents residing in the instance's Tracker search index. To update displayed results, refresh the page.
Viewing document details
To view the details of a specific Tracker document, click the document's row on the table displayed in the Tracker view. Soon, the Properties view would be populated with the selected document's data.
You will notice four tabs in the Properties view. The Properties tab displays custom key-value pairs provided for the Tracker document. The States tab displays all states the document has transitioned through. The Logs tab displays all log messages produced for the document. The Details tab displays the rest of the information regarding the document.
Document state content
You can preview the content of certain document state by clicking the document state's entry in the Properties view. To download it, do a secondary click instead and select Download Content from the appearing context menu.
To view the details of a specific Tracker document, right click the document's row on the table displayed in the Tracker view and then select Open Tracker Document from the appearing context menu. Soon, a new view would appear and be populated with the selected document's data.
You will notice three tabs in said view. The Properties tab displays custom key-value pairs provided for the Tracker document, and general information regarding the document. The States tab displays all states the document has transitioned through. The Logs tab displays all log messages produced for the document.
To view the details of a specific Tracker document, click the document's ID from the table displayed in the Tracker page. A modal on the right side of the page would appear with the requested information.
You'll notice the modal is split into four sections. The Details section displays general document properties. The Properties section displays custom key-value pairs added to the document. The States section displays all states the document has transitioned through. And lastly, the Logs section displays all log messages produced for the document.
Use the search bar in the Tracker user interface to look for documents containing field values that match the provided input string. Type the text to match in the search bar and then press .
You can also filter Tracker documents using facets. To show these facets in Coder, click the Quick Filter button. Click the facet field you want to filter by, and then select a value from the appearing dropdown to filter documents using the selected facet. You'll notice next to each facet is a number. This number is the number of documents in the Tracker search index that match the facet.
If you need finer-grained searches, you can use the Advanced Filter form. This type of search allows you to specify a value-to-match per field. In Coder, you need to click the Advanced (Filter) button for the form to appear. Meanwhile for the Server Admin interface, you need to click the inverted triangle beside the search button.
The Server Admin UI's Tracker search bar features autocomplete (using a Solr
means that as you type, you will be presented values and suggestions that match your query. However, this feature is
disabled by default (as it may cause performance issues). To enable it, open the
tracker Solr core's
file and uncomment the following lines:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<searchComponent class="solr.SpellCheckComponent" name="suggest_phrase"> <lst name="spellchecker"> <str name="name">suggest_phrase</str> <str name="classname">org.apache.solr.spelling.suggest.Suggester</str> <str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FSTLookup</str> <str name="field">suggest_phrase</str> <str name="buildOnCommit">true</str> </lst> </searchComponent> <requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest_phrase"> <lst name="defaults"> <str name="spellcheck">true</str> <str name="spellcheck.dictionary">suggest_phrase</str> <str name="spellcheck.onlyMorePopular">true</str> <str name="spellcheck.count">10</str> <str name="spellcheck.collate">false</str> </lst> <arr name="components"> <str>suggest_phrase</str> </arr> </requestHandler>
You may have noticed that the XML has a configuration property called
buildOnCommit. Enabling this option rebuilds the
autocomplete index every time a document is added to the index. If you feel that autocomplete is useful, but don't
like the performance cost, you can change the value of
false and then manually have Solr rebuild
it for you. In situations like this, the Scheduler endpoint can be used. You can read more
Using RESTful web services
As with the other search indices, the Tracker search index can be queried and managed via the Solr Search API. Simply ensure the following path parameters are substituted when sending requests:
You can look for Tracker documents in your code using
In Gloop, you can do something like:
Meanwhile in Groovy, you can do something like:
SearchResult searchResult = TrackerMethods.searchTracker('hello') List<Document> documents = searchResult.getResults()