Java api to create visualization in kibana 6 - elasticsearch

I'm new to elastic suit and I want to know if there is any way I can create visualization in kibana from java api?
To be more specific:I have a chatbot where I define different parameters from user sentences.
When user submit requests, in background (java code) I want to create visualization using the provided parameters.
Then get the iframe and embed it on to the chatbot for user.
Any pointers to this will be very helpful.
Thanks,
Costi P.

As far as I know there is no dedicated Java API for defining visualizations in kibana.
You can however post a visualization to the kibana index.
See details here: https://discuss.elastic.co/t/building-kibana-dashboard-dynamically/33713
There is also this:
* https://discuss.elastic.co/t/how-to-create-visualization-on-the-fly-using-a-script/31255
* https://discuss.elastic.co/t/how-to-dynamically-create-kibana-dashboard-in-5-0/74259

Related

Google Analytics Report Integration with java application

I have a java application where users with different roles logged in and perform various activities. I am tracking each user with their useid and Roles and creating custom reports in Google analytics through GTM. In reports i am displaying which user with what roles logged in how many times which date visited etc.I GA i created custom reports which gives charts and table.Charts which GA is giving is as below.
In my java spring application in admin section i want to display the above graph. Please suggest me the steps and action i need to follow to integrate GA reports graph to my java application.
Regards,
Prabhash Mishra
GA4 has a reporting API You can use that to pull the data. It may be quite uncomfortable to pull the data via it, so there's another option. You can seamlessly export your data to BQ then ETL it from there using some public libraries for working with BQ.
Going the BQ route will result in way easier debugging since you'd see how the data really looks like directly in BQ.

How can I implement today's popular keyword in ElasticSearch?

Is there a function that tells the most searched keyword during the day?
How can you implement it if don't?
The Elasticsearch search engine itself doesn't provide any analytics capabilities. However, the App Search product provides Analytics APIs on top of Elasticsearch, such as the Top Queries API which should return you what you need.

How to export bot registration's analytics

Follow the steps here (https://learn.microsoft.com/ja-jp/azure/bot-service/bot-service-manage-analytics?view=azure-bot-service-4.0), I can check bot analytics. I think these data are from Azure application insight. But how could I export them using powerBI, or any other tools? I need the same charts.
By the way, I'm using botframework V3.
Yes, this is possible.
First, I would recommend reading this blog article as it shows a bit of how the bot analytics are structured and might give insight into what you might want to query for.
Once you have your query up and returning the correct data that you want in Applications Insights Logs(Analytics), you can query that in PowerBI by exporting the M language script from Logs and then opening that in PowerBI which will then query the data you need. Please view how to do that step here.

Text/Synonym recommendation api

In LUIS, we have text/synonym recommendation in the entity/phrase list generation. Do anyone have idea on the api that is used for the synonym recommendation. We wanted to integrate the cognitive service api to get the synonym of the input text in one of the client application but we could not get any relevant Microsoft service to attain this.
[I am unable to provide sample code because of the nature of the question]
Luis Text Analytics
TextAnaytics API
Thanks
Unfortunately, we don't have any API for synonym recommendation yet. You can request this as feature here.

Use Application Insights to view all REST API requests per user

We are developing a WebApi2 application. Users can use the REST API using their specific API key. I am investigating how to setup Application Insights to be able to see the usage of the REST API endpoints per user.
I have been experimenting with using telemetryclient.TrackPageview(endpoint-ID) and telemetryclient.TrackEvent(endpoint-ID), but I am not sure if this is the right way to go. And how should I pass the user-ID (API-key) in the tracking call? As telemetryclient.Context.User.Id? Or using properties or some other way? I would like to be able to use the user-ID to aggregate/segment the pageviews/events that were registered for that particular user. Any ideas are welcome!
I'd suggest using the built in properties, like context.user.id whenever possible, and then custom properties after that.
Currently in the portal, from the search view you can then find an item for any user, then use the "related items" to view "all telemetry for this user" to see all of the items.
Then can use the App Analytics portal to do queries (click the "analytics" button toolbar in the overview blade for your resource azure portal to go to the AA site for that resource), and that service lets you write much richer queries.
in those queries, it's easiest to group/filter on the "built in" properties, for custom properties you have to write a little bit more complicated queries to parse the values out of custom code.

Resources