-
Notifications
You must be signed in to change notification settings - Fork 912
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: OpenSearch Dashboards Search Multiple Indices #283
Comments
Trying to understand more on proposal and use cases behind it, so with this change we can execute queries against multiple indices (may be completely different mapping) and display results on it. This field indicates on index patterns, does it also include searching over multiple index patterns ? If we make this change allowing users to select multiple indices or indices patterns , how filters will be applied ? What if users they both have completely different mapping ? Would it be possible to add some use cases in issue for better context understanding ? |
Hi @mihirsoni, we want to develop the ability to make a single query run on multiple indices and get all of the results, Yes, field types should not conflict. If they do, there are solutions for that. Preemptively, we can validate before searching and indicate in the UI, or we could return an informative error. A use-case that I am a fan of is searching for a "Request-ID" (that we generate and attach to logs and requests) and track and visualize the flow across multiple services. Right now, at Logz.io, we allow users to have multiple “accounts” or indices and search across one, many, or all of them, Our customers benefit a great deal from it, and we believe it could be a great contribution to the open search project. |
If you allow users to create their own aliases then Voilà all search and filtering is just going to work for everything that searches within the tool not just Discover. EDIT: I want to clarify what I'm trying to say. The following statement in this ticket is inaccurate.
That is not true. You query against an index pattern which is not the same as a single index in Elasticsearch. Your index pattern can be an alias and by extension aliases can be tied to multiple indices. |
I guess you could do that @JacobBrandt, but then if you have hundreds or in our case thousands of indices how would the user query multiple indices at the same time? I am not familiar with index patterns, but I assume there has to be some kind of regex match? @galangel What do you think? |
@jkowall I have hundreds of indices as well. Look into Aliases on Elasticsearch. You can have 1 alias for hundreds or in your case thousands of indices. You then create an index pattern from the alias, which you can give any name you want. It's literally why it was designed this way. So that you can query multiple indices, think time based indices in a cluster. You don't want users needing to specifically pick the month of that index to get to their data. They pick the named alias. |
This alias mechanism is also not limited to only indices with the same mapping template. I use it to group like minded indices together. They share similarly mapped fields (like you mentioned with Request-ID) but also have many other various fields not in the other index. Kibana handles all of this including letting you know when there is conflicting fields when you go to create the index pattern and the indices in the alias have conflicting mappings. |
I had a look at that feature. The only challenge is that your index needs to have a certain type of name associated with it. So you can do a wild card. In this case we want to be able to select multiple indices that do not have the same pattern within their names. |
@jkowall Again what you are saying is wrong. An alias can be named whatever you want it to be and the indices you add to the alias can be whatever name as well. The alias is named alias1 and the index added to this alias is my-index-000001. You could then create an index pattern in Kibana with that named alias by typing alias1 and creating the index pattern. The name "index pattern" in Kibana does not mean that the name you enter into the form to create an index pattern must be a regex pattern or even the name of an index. There is a large discussion even the Kibana developers have about the confusing name. I hope this helps. |
I think @JacobBrandt @jkowall is trying to propose search across multiple index pattern, and that's why I raised the question over the filters. So for a reason I feel this is still valid use case
Despite, we might need to dive deep on user experience and filter experience with it, that could become tricky and challenging. |
Also I agree with @JacobBrandt that we could achieve the same functionality from creating an alias:
Does this solve what you would have to achieve @jkowall @galangel |
@JacobBrandt you are correct regarding creating the aliases as being related to this feature, however:
This is for good reason - if some OpenSearch users want secure multitenant clusters then they would disable the ability of most users to create/delete aliases. Therefore, if you want to put a frame around the different indices the user can group together for a request this proposed feature is offering that exactly.
|
Thank you all for your comments, What we want is to search multiple indexes On Demand, if we'll go with the alias, then I want to make it on the fly. |
This is an Open Source project Not user friendly
Solvable with a UI experience that allows users to create aliases. Aliases, do more than just allowing to group indices together, like filtering and routing, so this approach provides more functionality then your proposed suggestion to the non-issue. Technical challenges of the proposals suggestion
I'm looking at the big picture here instead of just Logz.io use case. |
@JacobBrandt I am going to refer to what you wrote from
Onward, As the first paragraphs don't present yourself in the best light. Let's try to keep things on an engineering level here. If you want to talk about a specific company then I believe this is not the place. Feel free to dm me about questions regarding logz.io. Regarding the option to add a ui to create aliases rather than a "simple" grouping -- Regarding the challenges - @galangel perhaps these should be added to the proposal as open issues? Thank you @JacobBrandt for the important feedback. |
@AmiStrn You're right, I apologize then. Removed them so we can keep this content at the engineering level of the proposal. The challenges I listed only present themselves if the plan is to allow users to select multiple index patterns from Discover view. If instead the tool is used as designed they don't exist. |
I like this dialogue. I think the feature description needs to speak for itself so you are correct @JacobBrandt that something is missing. I apologize for any frustration, I appreciate your involvement. |
Closing this out until we modify the plugin system, proposal is coming soon. |
…n management and SavedObject management as standalone app, retire dashboard management (opensearch-project#283) * Revert "Register Advance Settings, Data Source management,Index Pattern management and SavedObject management as standalone app, retire dashboard management (opensearch-project#208)" This reverts commit 5f09f84. * Revert "feat: add unit test for mountWrapper (opensearch-project#223)" This reverts commit a70ce71. * Revert "fix: cypress tests checkout workspace branch (opensearch-project#252)" This reverts commit 734c890. * run cypress with ftr main Signed-off-by: Yulong Ruan <ruanyl@amazon.com> --------- Signed-off-by: Yulong Ruan <ruanyl@amazon.com>
…n management and SavedObject management as standalone app, retire dashboard management (opensearch-project#283) * Revert "Register Advance Settings, Data Source management,Index Pattern management and SavedObject management as standalone app, retire dashboard management (opensearch-project#208)" This reverts commit 5f09f84. * Revert "feat: add unit test for mountWrapper (opensearch-project#223)" This reverts commit a70ce71. * Revert "fix: cypress tests checkout workspace branch (opensearch-project#252)" This reverts commit 734c890. * run cypress with ftr main Signed-off-by: Yulong Ruan <ruanyl@amazon.com> --------- Signed-off-by: Yulong Ruan <ruanyl@amazon.com>
Requirements - What kind of business use case are you trying to solve?
The ability to search multiple indices at the same time with a single query
Problem - What blocks you from solving this today?
Today the user interface in Kibana allows for the query to only run against a single index.
Proposal - what do you suggest to solve the problem or improve the existing situation?
We should modify Kibana to select multiple indices at the same time via a checkbox and run the corresponding query. Today you can only pick one at a time.
Assumptions
Installation of Kibana
Any open questions to address
None
Thanks from @jkowall and @galangel
The text was updated successfully, but these errors were encountered: