1. A method for joining modeled data and non-modeled data, comprising: receiving, by a server computer via a network, a set of modeled data and a set of new data comprising one or both of non-structured data and structured data; indexing, by the server computer, the set of new data, wherein the non-structured data is indexed into data keywords and the structured data is indexed into values of metric data; identifying, by the server computer, a set of data clusters and a set of data facets of the indexed set of new data using semantic language analysis; in response to receiving a user query from a user computer via the network, parsing the received user query, using the semantic language analysis, into a plurality of query keywords; generating, by the server computer, a set of semantically searchable unstructured data based on the user query, wherein the generated set of semantically searchable unstructured data includes at least one data cluster of indexed new data of the identified set of data clusters, wherein the generating the set of searchable unstructured data further comprises associating the indexed set of new data with the plurality of data keywords; matching, by the server computer, one or more of the data keywords, structured data values, and a modeled data set to the indexed query keywords, using the semantic language analysis, based on at least the set of semantically searchable unstructured data; generating, via a join operation, a first table based on the matching non-structured data keywords, structured data values, and modeled data to the indexed query keywords; in response to displaying the generated first table on a graphical user interface of the user computer to a user, displaying, by the server computer, one or more of a set of table options to a user after receiving an input indicating that the generated first table is not accepted, wherein the table options comprise matching data clusters and data facets that were not used to generate the first table, wherein the table options further are based on matches with less weight or probability that were not used in the first table generation by the join operation; receiving, from a user, an input selecting one or more of the set of displayed table options; generating a second table, via the join operation, based on the user selected table options; and communicating, by the server computer via the network, the generated second table to the user computer.