14,953
edits
m (Planetoid moved page Elastic search to Elasticsearch) |
|||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== Concept mapping == | |||
<table class="wikisort" border="1"> | |||
<tr> | |||
<th>MySQL (RDBMS)</th> | |||
<th>Elasticsearch</th> | |||
<th>Excel</th> | |||
<th>Example Value (Bookstore)</th> | |||
</tr> | |||
<tr> | |||
<td>Table</td> | |||
<td>Index</td> | |||
<td>Worksheet</td> | |||
<td>books</td> | |||
</tr> | |||
<tr> | |||
<td>Row</td> | |||
<td>Document</td> | |||
<td>Row</td> | |||
<td class="code">{ "id": 1, "title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "price": 9.99 }</td> | |||
</tr> | |||
<tr> | |||
<td>Field</td> | |||
<td>Field</td> | |||
<td>Column</td> | |||
<td>title</td> | |||
</tr> | |||
<tr> | |||
<td>Schema</td> | |||
<td>Mapping</td> | |||
<td>Column Headers</td> | |||
<td class="code"><pre>{ | |||
"properties": { | |||
"title": { "type": "text" }, | |||
"author": { "type": "keyword" }, | |||
"price": { "type": "float" } | |||
} | |||
}</pre></td> | |||
</tr> | |||
<tr> | |||
<td>SQL</td> | |||
<td>DSL</td> | |||
<td>Formulas/Filters</td> | |||
<td class="code">SQL: SELECT * FROM books WHERE author = 'F. Scott Fitzgerald' | |||
DSL: { "query": { "term": { "author": "F. Scott Fitzgerald" } } } | |||
Excel: Filter column "author" for "F. Scott Fitzgerald"</td> | |||
</tr> | |||
</table> | |||
== Count the number of documents == | == Count the number of documents == | ||
| Line 70: | Line 119: | ||
SELECT * | SELECT * | ||
FROM MY_TABLE | FROM MY_TABLE | ||
</pre> | |||
== Select particular data from index or table (exact match) == | |||
Elasticsearch<ref>[https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html Get index API | Elasticsearch Guide [8.15] | Elastic]</ref> | |||
<pre> | |||
GET /MY_INDEX/_search/?q=_id:1 | |||
</pre> | |||
MySQL<ref>[https://dev.mysql.com/doc/refman/8.4/en/selecting-rows.html MySQL :: MySQL 8.4 Reference Manual :: 5.3.4.2 Selecting Particular Rows]</ref> | |||
<pre> | |||
SELECT * | |||
FROM MY_TABLE | |||
WHERE id = 1 | |||
</pre> | |||
== Select particular data from index or table (partial match) == | |||
Elasticsearch<ref>[https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html Boolean query | Elasticsearch Guide [8.15] | Elastic]</ref> | |||
<pre> | |||
GET /MY_INDEX/_search | |||
{ | |||
"query": { | |||
"bool": { | |||
"should": [ | |||
{ | |||
"match": { | |||
"field1": "NVIDIA" | |||
} | |||
} | |||
] | |||
} | |||
} | |||
} | |||
</pre> | |||
MySQL | |||
<pre> | |||
SELECT * | |||
FROM MY_TABLE | |||
WHERE field1 LIKE "%NVIDIA%" | |||
</pre> | </pre> | ||