diff --git a/build.gradle.kts b/build.gradle.kts
index 094209ed..76263499 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -550,6 +550,11 @@ if (nativeBuild) {
"--initialize-at-build-time=org.junit.platform.launcher",
"--initialize-at-build-time=org.junit.platform.engine",
"--initialize-at-build-time=org.junit.jupiter.engine.descriptor",
+ // Spring AOT registers every *.json resource, which covers shows.json;
+ // the CSV, XML and Markdown flavours of the sample dataset need an
+ // explicit include or ShowsSampleDataTest cannot load them natively.
+ "-H:IncludeResources=shows\\.(csv|xml)$",
+ "-H:IncludeResources=shows-markdown/.*\\.md$",
)
}
}
diff --git a/src/main/java/org/apache/solr/mcp/server/indexing/IndexingService.java b/src/main/java/org/apache/solr/mcp/server/indexing/IndexingService.java
index 13504967..1692a004 100644
--- a/src/main/java/org/apache/solr/mcp/server/indexing/IndexingService.java
+++ b/src/main/java/org/apache/solr/mcp/server/indexing/IndexingService.java
@@ -313,11 +313,12 @@ public String indexCsvDocuments(@McpToolParam(description = "Solr collection to
* Supported XML Formats:
*
*
- * - Single Document: Root element treated as one document
- *
- Multiple Documents: Child elements with 'doc', 'item',
- * or 'record' names treated as separate documents
- *
- Nested Elements: Automatically flattened with underscore
- * notation
+ *
- Single Document: Root element treated as one document;
+ * its child elements are the fields
+ *
- Multiple Documents: Repeated child elements of the root
+ * (any name) are separate documents; each one's child elements are its fields
+ *
- Nested Elements: Flattened below the field with
+ * underscore notation ({@code author_name})
*
- Attributes: Converted to fields with "_attr" suffix
*
- Mixed Data Types: Automatic type detection by Solr
*
@@ -387,9 +388,12 @@ public String indexCsvDocuments(@McpToolParam(description = "Solr collection to
@McpTool(
name = "index-xml-documents",
annotations = @McpTool.McpAnnotations(idempotentHint = true),
- description = "Index documents from XML string into Solr collection. Element names are"
- + " sanitized for Solr compatibility (lowercased, special characters replaced"
- + " with underscores); the response lists the field names as indexed")
+ description = "Index documents from XML string into Solr collection: repeated child elements of the"
+ + " root are the documents and each one's child elements are its fields (x"
+ + "T yields id and title; nested elements flatten with underscores,"
+ + " attributes get an _attr suffix). Element names are sanitized for Solr compatibility"
+ + " (lowercased, special characters replaced with underscores); the response lists the field"
+ + " names as indexed")
public String indexXmlDocuments(@McpToolParam(description = "Solr collection to index into") String collection,
@McpToolParam(description = "XML string containing documents to index") String xml)
throws ParserConfigurationException, SAXException, IOException, SolrServerException {
diff --git a/src/main/java/org/apache/solr/mcp/server/indexing/documentcreator/XmlDocumentCreator.java b/src/main/java/org/apache/solr/mcp/server/indexing/documentcreator/XmlDocumentCreator.java
index 289c356f..a7081043 100644
--- a/src/main/java/org/apache/solr/mcp/server/indexing/documentcreator/XmlDocumentCreator.java
+++ b/src/main/java/org/apache/solr/mcp/server/indexing/documentcreator/XmlDocumentCreator.java
@@ -58,7 +58,10 @@ public XmlDocumentCreator() {
* This method parses the XML and creates documents based on the structure: - If
* the XML has multiple child elements with the same tag name (indicating
* repeated structures), each child element becomes a separate document -
- * Otherwise, the entire XML structure is treated as a single document
+ * Otherwise, the entire XML structure is treated as a single document. In both
+ * cases the record element is a wrapper: its child elements are the fields,
+ * named after themselves, so {@code xT}
+ * yields {@code id} and {@code title}, not {@code show_id}.
*
*
* This approach is flexible and doesn't rely on hardcoded element names,
@@ -147,7 +150,7 @@ private List createDocumentsFromChildren(List childE
for (Element childElement : childElements) {
SolrInputDocument solrDoc = new SolrInputDocument();
- addXmlElementFields(solrDoc, childElement, "");
+ addRecordFields(solrDoc, childElement);
if (!solrDoc.isEmpty()) {
documents.add(solrDoc);
}
@@ -156,11 +159,34 @@ private List createDocumentsFromChildren(List childE
return documents;
}
+ /**
+ * Adds the fields of one record element. The record element itself (the root
+ * for a single document, or each repeated child) is a wrapper, not a field: its
+ * child elements become fields named after themselves ({@code } is
+ * {@code title}, a repeated {@code } is multi-valued), nested elements
+ * flatten below that with underscores, and the record's own attributes keep the
+ * {@code _attr} suffix.
+ */
+ private void addRecordFields(SolrInputDocument doc, Element record) {
+ String recordName = FieldNameSanitizer.sanitizeFieldName(record.getTagName());
+ // The record's own attributes are unqualified (id_attr); a child element's
+ // attributes are qualified by that element (name_lang_attr).
+ processXmlAttributes(doc, record, "", "");
+ NodeList children = record.getChildNodes();
+ processXmlTextContent(doc, recordName, recordName, "", hasChildElements(children), children);
+ for (int i = 0; i < children.getLength(); i++) {
+ Node child = children.item(i);
+ if (child.getNodeType() == Node.ELEMENT_NODE) {
+ addXmlElementFields(doc, (Element) child, "");
+ }
+ }
+ }
+
/** Creates a single document from the root element. */
private List createSingleDocument(Element rootElement) {
List documents = new ArrayList<>();
SolrInputDocument solrDoc = new SolrInputDocument();
- addXmlElementFields(solrDoc, rootElement, "");
+ addRecordFields(solrDoc, rootElement);
if (!solrDoc.isEmpty()) {
documents.add(solrDoc);
@@ -229,7 +255,7 @@ private void processXmlAttributes(SolrInputDocument doc, Element element, String
for (int i = 0; i < element.getAttributes().getLength(); i++) {
Node attr = element.getAttributes().item(i);
String attrName = FieldNameSanitizer.sanitizeFieldName(attr.getNodeName()) + "_attr";
- String fieldName = prefix.isEmpty() ? attrName : currentPrefix + "_" + attrName;
+ String fieldName = currentPrefix.isEmpty() ? attrName : currentPrefix + "_" + attrName;
String attrValue = attr.getNodeValue();
if (attrValue != null && !attrValue.trim().isEmpty()) {
diff --git a/src/test/java/org/apache/solr/mcp/server/indexing/ShowsSampleDataTest.java b/src/test/java/org/apache/solr/mcp/server/indexing/ShowsSampleDataTest.java
new file mode 100644
index 00000000..09404197
--- /dev/null
+++ b/src/test/java/org/apache/solr/mcp/server/indexing/ShowsSampleDataTest.java
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.mcp.server.indexing;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.TreeMap;
+import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.mcp.server.indexing.documentcreator.CsvDocumentCreator;
+import org.apache.solr.mcp.server.indexing.documentcreator.JsonDocumentCreator;
+import org.apache.solr.mcp.server.indexing.documentcreator.MarkdownDocumentCreator;
+import org.apache.solr.mcp.server.indexing.documentcreator.XmlDocumentCreator;
+import org.junit.jupiter.api.Test;
+
+/**
+ * The {@code shows} sample dataset ships in every format the indexing tools
+ * accept: {@code shows.json}, {@code shows.csv}, {@code shows.xml} and one
+ * Markdown file per show under {@code shows-markdown/}. These tests pin that
+ * the four representations parse to the same 61 documents, so a tutorial step
+ * written against one format holds for the others.
+ *
+ *
+ * Two representation choices are worth knowing:
+ *
+ * - CSV carries multi-valued fields as repeated column headers
+ * ({@code genres,genres,genres}); the parser adds one value per non-empty cell
+ * under the same field name.
+ * - XML uses one {@code } element per record; the record element is a
+ * wrapper, so its children become the fields ({@code id}, {@code title}, a
+ * repeated {@code } is multi-valued), the same names as JSON.
+ *
+ */
+class ShowsSampleDataTest {
+
+ private static final int SHOWS = 61;
+
+ private final JsonDocumentCreator json = new JsonDocumentCreator(new ObjectMapper());
+
+ @Test
+ void jsonHas61ShowsWithUniqueIds() throws Exception {
+ Map>> shows = byId(json.create(resource("/shows.json")), "id");
+
+ assertThat(shows).hasSize(SHOWS);
+ assertThat(shows.get("netflix-001")).containsEntry("title", List.of("Stranger Things")).containsEntry("genres",
+ List.of("Sci-Fi", "Horror", "Drama"));
+ }
+
+ @Test
+ void csvParsesToTheSameDocumentsAsJson() throws Exception {
+ Map>> expected = byId(json.create(resource("/shows.json")), "id");
+ Map>> actual = byId(new CsvDocumentCreator().create(resource("/shows.csv")),
+ "id");
+
+ assertThat(actual).containsExactlyEntriesOf(expected);
+ }
+
+ @Test
+ void markdownFilesParseToTheSameDocumentsAsJson() throws Exception {
+ Map>> expected = byId(json.create(resource("/shows.json")), "id");
+ MarkdownDocumentCreator markdown = new MarkdownDocumentCreator();
+
+ for (Map.Entry>> show : expected.entrySet()) {
+ List docs = markdown.create(resource("/shows-markdown/" + show.getKey() + ".md"));
+ assertThat(docs).as(show.getKey()).hasSize(1);
+ Map> fields = fields(docs.getFirst(), "");
+
+ // The description is the document body, so it comes back as content
+ // (with the title heading) rather than as a front matter field.
+ Map> frontMatter = new TreeMap<>(show.getValue());
+ List description = frontMatter.remove("description");
+ assertThat(fields.remove("content")).as("%s content", show.getKey()).hasSize(1).first().asString()
+ .contains(description.getFirst());
+ assertThat(fields.remove("headings")).as("%s headings", show.getKey())
+ .isEqualTo(show.getValue().get("title"));
+ assertThat(fields).as(show.getKey()).containsExactlyEntriesOf(frontMatter);
+ }
+ }
+
+ @Test
+ void xmlParsesToTheSameDocumentsAsJson() throws Exception {
+ Map>> expected = byId(json.create(resource("/shows.json")), "id");
+ Map>> actual = byId(new XmlDocumentCreator().create(resource("/shows.xml")),
+ "id");
+
+ assertThat(actual).containsExactlyEntriesOf(expected);
+ }
+
+ private static Map>> byId(List docs, String idField) {
+ Map>> byId = new TreeMap<>();
+ for (SolrInputDocument doc : docs) {
+ Map> fields = fields(doc, "");
+ String id = Objects.requireNonNull(fields.get(idField), "missing " + idField).getFirst();
+ assertThat(byId.put(id, fields)).as("duplicate id %s", id).isNull();
+ }
+ return byId;
+ }
+
+ /**
+ * Field name to string values, with {@code prefix} stripped from every name.
+ */
+ private static Map> fields(SolrInputDocument doc, String prefix) {
+ Map> fields = new TreeMap<>();
+ for (String name : doc.getFieldNames()) {
+ String key = name.startsWith(prefix) ? name.substring(prefix.length()) : name;
+ fields.put(key, doc.getFieldValues(name).stream().map(String::valueOf).toList());
+ }
+ return new LinkedHashMap<>(fields);
+ }
+
+ private static String resource(String path) throws IOException {
+ try (InputStream in = Objects.requireNonNull(ShowsSampleDataTest.class.getResourceAsStream(path),
+ "missing test resource " + path)) {
+ return new String(in.readAllBytes(), StandardCharsets.UTF_8);
+ }
+ }
+}
diff --git a/src/test/java/org/apache/solr/mcp/server/indexing/XmlIndexingTest.java b/src/test/java/org/apache/solr/mcp/server/indexing/XmlIndexingTest.java
index 35129e8a..e2a83d3d 100644
--- a/src/test/java/org/apache/solr/mcp/server/indexing/XmlIndexingTest.java
+++ b/src/test/java/org/apache/solr/mcp/server/indexing/XmlIndexingTest.java
@@ -67,12 +67,12 @@ void testCreateSchemalessDocumentsFromXmlSingleDocument() throws Exception {
SolrInputDocument doc = documents.getFirst();
assertThat(doc.getFieldValue("id_attr")).isEqualTo("123");
- assertThat(doc.getFieldValue("book_title")).isEqualTo("A Game of Thrones");
- assertThat(doc.getFieldValue("book_author_name")).isEqualTo("George R.R. Martin");
- assertThat(doc.getFieldValue("book_author_email")).isEqualTo("george@example.com");
- assertThat(doc.getFieldValue("book_price")).isEqualTo("7.99");
- assertThat(doc.getFieldValue("book_instock")).isEqualTo("true");
- assertThat(doc.getFieldValue("book_genre")).isEqualTo("fantasy");
+ assertThat(doc.getFieldValue("title")).isEqualTo("A Game of Thrones");
+ assertThat(doc.getFieldValue("author_name")).isEqualTo("George R.R. Martin");
+ assertThat(doc.getFieldValue("author_email")).isEqualTo("george@example.com");
+ assertThat(doc.getFieldValue("price")).isEqualTo("7.99");
+ assertThat(doc.getFieldValue("instock")).isEqualTo("true");
+ assertThat(doc.getFieldValue("genre")).isEqualTo("fantasy");
}
@Test
@@ -108,23 +108,23 @@ void testCreateSchemalessDocumentsFromXmlMultipleDocuments() throws Exception {
// Verify first document
SolrInputDocument firstDoc = documents.getFirst();
assertThat(firstDoc.getFieldValue("id_attr")).isEqualTo("1");
- assertThat(firstDoc.getFieldValue("document_title")).isEqualTo("A Game of Thrones");
- assertThat(firstDoc.getFieldValue("document_author")).isEqualTo("George R.R. Martin");
- assertThat(firstDoc.getFieldValue("document_genre")).isEqualTo("fantasy");
+ assertThat(firstDoc.getFieldValue("title")).isEqualTo("A Game of Thrones");
+ assertThat(firstDoc.getFieldValue("author")).isEqualTo("George R.R. Martin");
+ assertThat(firstDoc.getFieldValue("genre")).isEqualTo("fantasy");
// Verify second document
SolrInputDocument secondDoc = documents.get(1);
assertThat(secondDoc.getFieldValue("id_attr")).isEqualTo("2");
- assertThat(secondDoc.getFieldValue("document_title")).isEqualTo("Foundation");
- assertThat(secondDoc.getFieldValue("document_author")).isEqualTo("Isaac Asimov");
- assertThat(secondDoc.getFieldValue("document_genre")).isEqualTo("scifi");
+ assertThat(secondDoc.getFieldValue("title")).isEqualTo("Foundation");
+ assertThat(secondDoc.getFieldValue("author")).isEqualTo("Isaac Asimov");
+ assertThat(secondDoc.getFieldValue("genre")).isEqualTo("scifi");
// Verify third document
SolrInputDocument thirdDoc = documents.get(2);
assertThat(thirdDoc.getFieldValue("id_attr")).isEqualTo("3");
- assertThat(thirdDoc.getFieldValue("document_title")).isEqualTo("Dune");
- assertThat(thirdDoc.getFieldValue("document_author")).isEqualTo("Frank Herbert");
- assertThat(thirdDoc.getFieldValue("document_genre")).isEqualTo("scifi");
+ assertThat(thirdDoc.getFieldValue("title")).isEqualTo("Dune");
+ assertThat(thirdDoc.getFieldValue("author")).isEqualTo("Frank Herbert");
+ assertThat(thirdDoc.getFieldValue("genre")).isEqualTo("scifi");
}
@Test
@@ -149,11 +149,11 @@ void testCreateSchemalessDocumentsFromXmlWithAttributes() throws Exception {
assertThat(doc.getFieldValue("id_attr")).isEqualTo("P123");
assertThat(doc.getFieldValue("category_attr")).isEqualTo("electronics");
assertThat(doc.getFieldValue("featured_attr")).isEqualTo("true");
- assertThat(doc.getFieldValue("product_name_lang_attr")).isEqualTo("en");
- assertThat(doc.getFieldValue("product_price_currency_attr")).isEqualTo("USD");
- assertThat(doc.getFieldValue("product_name")).isEqualTo("Smartphone");
- assertThat(doc.getFieldValue("product_price")).isEqualTo("599.99");
- assertThat(doc.getFieldValue("product_description")).isEqualTo("Latest smartphone with advanced features");
+ assertThat(doc.getFieldValue("name_lang_attr")).isEqualTo("en");
+ assertThat(doc.getFieldValue("price_currency_attr")).isEqualTo("USD");
+ assertThat(doc.getFieldValue("name")).isEqualTo("Smartphone");
+ assertThat(doc.getFieldValue("price")).isEqualTo("599.99");
+ assertThat(doc.getFieldValue("description")).isEqualTo("Latest smartphone with advanced features");
}
@Test
@@ -184,16 +184,16 @@ void testCreateSchemalessDocumentsFromXmlWithEmptyValues() throws Exception {
// First document should skip empty description
SolrInputDocument firstDoc = documents.getFirst();
assertThat(firstDoc.getFieldValue("id_attr")).isEqualTo("1");
- assertThat(firstDoc.getFieldValue("item_name")).isEqualTo("Product One");
- assertThat(firstDoc.getFieldValue("item_description")).isNull(); // Empty element should not be indexed
- assertThat(firstDoc.getFieldValue("item_price")).isEqualTo("19.99");
+ assertThat(firstDoc.getFieldValue("name")).isEqualTo("Product One");
+ assertThat(firstDoc.getFieldValue("description")).isNull(); // Empty element should not be indexed
+ assertThat(firstDoc.getFieldValue("price")).isEqualTo("19.99");
// Second document should skip empty name
SolrInputDocument secondDoc = documents.get(1);
assertThat(secondDoc.getFieldValue("id_attr")).isEqualTo("2");
- assertThat(secondDoc.getFieldValue("item_name")).isNull(); // Empty element should not be indexed
- assertThat(secondDoc.getFieldValue("item_description")).isEqualTo("Product with no name");
- assertThat(secondDoc.getFieldValue("item_price")).isEqualTo("29.99");
+ assertThat(secondDoc.getFieldValue("name")).isNull(); // Empty element should not be indexed
+ assertThat(secondDoc.getFieldValue("description")).isEqualTo("Product with no name");
+ assertThat(secondDoc.getFieldValue("price")).isEqualTo("29.99");
}
@Test
@@ -223,14 +223,14 @@ void testCreateSchemalessDocumentsFromXmlWithRepeatedElements() throws Exception
assertThat(documents).hasSize(1);
SolrInputDocument doc = documents.getFirst();
- assertThat(doc.getFieldValue("book_title")).isEqualTo("Programming Book");
- assertThat(doc.getFieldValue("book_author")).isEqualTo("John Doe");
+ assertThat(doc.getFieldValue("title")).isEqualTo("Programming Book");
+ assertThat(doc.getFieldValue("author")).isEqualTo("John Doe");
// Check that repeated elements are handled properly
// Note: The current implementation processes each element separately,
// so we check for the individual tag and category fields
- assertThat(doc.getFieldValue("book_tags_tag")).isNotNull();
- assertThat(doc.getFieldValue("book_categories_category")).isNotNull();
+ assertThat(doc.getFieldValue("tags_tag")).isNotNull();
+ assertThat(doc.getFieldValue("categories_category")).isNotNull();
}
@Test
@@ -256,12 +256,12 @@ void testCreateSchemalessDocumentsFromXmlMixedContent() throws Exception {
assertThat(documents).hasSize(1);
SolrInputDocument doc = documents.getFirst();
- assertThat(doc.getFieldValue("article_title")).isEqualTo("Mixed Content Example");
- assertThat(doc.getFieldValue("article_author")).isEqualTo("Jane Smith");
+ assertThat(doc.getFieldValue("title")).isEqualTo("Mixed Content Example");
+ assertThat(doc.getFieldValue("author")).isEqualTo("Jane Smith");
// Mixed content should be handled - text content should be captured
- assertThat(doc.getFieldValue("article_content")).isNotNull();
- assertThat(doc.getFieldValue("article_content_emphasis")).isEqualTo("emphasized text");
+ assertThat(doc.getFieldValue("content")).isNotNull();
+ assertThat(doc.getFieldValue("content_emphasis")).isEqualTo("emphasized text");
}
@Test
@@ -440,24 +440,24 @@ void testCreateSchemalessDocumentsFromXmlWithComplexNestedStructure() throws Exc
assertThat(doc.getFieldValue("category_attr")).isEqualTo("electronics");
// Verify nested structure flattening
- assertThat(doc.getFieldValue("product_details_name_lang_attr")).isNotNull();
- assertThat(doc.getFieldValue("product_details_specifications_screen_size_attr")).isEqualTo("6.1");
- assertThat(doc.getFieldValue("product_details_specifications_screen_type_attr")).isEqualTo("OLED");
- assertThat(doc.getFieldValue("product_details_specifications_screen")).isEqualTo("Full HD+");
+ assertThat(doc.getFieldValue("details_name_lang_attr")).isNotNull();
+ assertThat(doc.getFieldValue("details_specifications_screen_size_attr")).isEqualTo("6.1");
+ assertThat(doc.getFieldValue("details_specifications_screen_type_attr")).isEqualTo("OLED");
+ assertThat(doc.getFieldValue("details_specifications_screen")).isEqualTo("Full HD+");
// Verify multiple similar elements
- assertThat(doc.getFieldValue("product_details_specifications_camera_type_attr")).isNotNull();
- assertThat(doc.getFieldValue("product_details_specifications_camera_resolution_attr")).isNotNull();
+ assertThat(doc.getFieldValue("details_specifications_camera_type_attr")).isNotNull();
+ assertThat(doc.getFieldValue("details_specifications_camera_resolution_attr")).isNotNull();
// Verify deeply nested elements
- assertThat(doc.getFieldValue("product_details_specifications_storage_internal")).isEqualTo("128GB");
- assertThat(doc.getFieldValue("product_details_specifications_storage_expandable")).isEqualTo("Yes");
+ assertThat(doc.getFieldValue("details_specifications_storage_internal")).isEqualTo("128GB");
+ assertThat(doc.getFieldValue("details_specifications_storage_expandable")).isEqualTo("Yes");
// Verify pricing and availability
- assertThat(doc.getFieldValue("product_pricing_currency_attr")).isEqualTo("USD");
- assertThat(doc.getFieldValue("product_pricing")).isEqualTo("599.99");
- assertThat(doc.getFieldValue("product_availability_instock")).isEqualTo("true");
- assertThat(doc.getFieldValue("product_availability_regions_region")).isNotNull();
+ assertThat(doc.getFieldValue("pricing_currency_attr")).isEqualTo("USD");
+ assertThat(doc.getFieldValue("pricing")).isEqualTo("599.99");
+ assertThat(doc.getFieldValue("availability_instock")).isEqualTo("true");
+ assertThat(doc.getFieldValue("availability_regions_region")).isNotNull();
}
@Test
@@ -486,11 +486,11 @@ void testFieldNameSanitization() throws Exception {
// Verify field name sanitization
assertThat(doc.getFieldValue("id_attr")).isEqualTo("123");
- assertThat(doc.getFieldValue("product_data_product_name")).isEqualTo("Test Product");
- assertThat(doc.getFieldValue("product_data_price_usd")).isEqualTo("99.99");
- assertThat(doc.getFieldValue("product_data_category_type")).isEqualTo("electronics");
- assertThat(doc.getFieldValue("product_data_field_with_multiple_underscores")).isEqualTo("value");
- assertThat(doc.getFieldValue("product_data_field_with_dashes")).isEqualTo("dashed value");
- assertThat(doc.getFieldValue("product_data_uppercase_field")).isEqualTo("uppercase value");
+ assertThat(doc.getFieldValue("product_name")).isEqualTo("Test Product");
+ assertThat(doc.getFieldValue("price_usd")).isEqualTo("99.99");
+ assertThat(doc.getFieldValue("category_type")).isEqualTo("electronics");
+ assertThat(doc.getFieldValue("field_with_multiple_underscores")).isEqualTo("value");
+ assertThat(doc.getFieldValue("field_with_dashes")).isEqualTo("dashed value");
+ assertThat(doc.getFieldValue("uppercase_field")).isEqualTo("uppercase value");
}
}
diff --git a/src/test/resources/shows-markdown/appletv-001.md b/src/test/resources/shows-markdown/appletv-001.md
new file mode 100644
index 00000000..9053b3d4
--- /dev/null
+++ b/src/test/resources/shows-markdown/appletv-001.md
@@ -0,0 +1,35 @@
+---
+id: appletv-001
+title: Ted Lasso
+platform: Apple TV+
+genres:
+ - Comedy
+ - Drama
+ - Sport
+release_year: 2020
+end_year: 2023
+status: Ended
+seasons: 3
+episodes: 34
+creators:
+ - Bill Lawrence
+ - Jason Sudeikis
+cast:
+ - Jason Sudeikis
+ - Hannah Waddingham
+ - Brett Goldstein
+ - Juno Temple
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.8
+tags:
+ - soccer
+ - football
+ - feel-good
+ - british
+---
+
+# Ted Lasso
+
+American college football coach Ted Lasso heads to London to manage AFC Richmond, a struggling English Premier League soccer team.
diff --git a/src/test/resources/shows-markdown/appletv-002.md b/src/test/resources/shows-markdown/appletv-002.md
new file mode 100644
index 00000000..e185480d
--- /dev/null
+++ b/src/test/resources/shows-markdown/appletv-002.md
@@ -0,0 +1,33 @@
+---
+id: appletv-002
+title: Severance
+platform: Apple TV+
+genres:
+ - Sci-Fi
+ - Thriller
+ - Drama
+release_year: 2022
+status: Ongoing
+seasons: 2
+episodes: 19
+creators:
+ - Dan Erickson
+cast:
+ - Adam Scott
+ - Britt Lower
+ - Zach Cherry
+ - John Turturro
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - workplace
+ - dystopian
+ - mystery
+ - ben-stiller
+---
+
+# Severance
+
+Employees at Lumon Industries undergo a procedure that surgically divides their memories between their work and personal lives.
diff --git a/src/test/resources/shows-markdown/appletv-003.md b/src/test/resources/shows-markdown/appletv-003.md
new file mode 100644
index 00000000..b4c5c0de
--- /dev/null
+++ b/src/test/resources/shows-markdown/appletv-003.md
@@ -0,0 +1,33 @@
+---
+id: appletv-003
+title: Foundation
+platform: Apple TV+
+genres:
+ - Sci-Fi
+ - Drama
+ - Adventure
+release_year: 2021
+status: Ongoing
+seasons: 3
+episodes: 28
+creators:
+ - David S. Goyer
+ - Josh Friedman
+cast:
+ - Jared Harris
+ - Lee Pace
+ - Lou Llobell
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 7.5
+tags:
+ - space-opera
+ - asimov
+ - epic
+ - empire
+---
+
+# Foundation
+
+A complex saga of humans scattered on planets throughout the galaxy living under the rule of the Galactic Empire.
diff --git a/src/test/resources/shows-markdown/appletv-004.md b/src/test/resources/shows-markdown/appletv-004.md
new file mode 100644
index 00000000..1c64e583
--- /dev/null
+++ b/src/test/resources/shows-markdown/appletv-004.md
@@ -0,0 +1,32 @@
+---
+id: appletv-004
+title: Slow Horses
+platform: Apple TV+
+genres:
+ - Crime
+ - Drama
+ - Thriller
+release_year: 2022
+status: Ongoing
+seasons: 4
+episodes: 24
+creators:
+ - Will Smith
+cast:
+ - Gary Oldman
+ - Jack Lowden
+ - Kristin Scott Thomas
+country: UK
+language: English
+rating: TV-MA
+imdb_rating: 8.3
+tags:
+ - spy
+ - british
+ - mi5
+ - mick-herron
+---
+
+# Slow Horses
+
+Follows a team of British intelligence agents who serve in a dumping ground department of MI5.
diff --git a/src/test/resources/shows-markdown/disney-001.md b/src/test/resources/shows-markdown/disney-001.md
new file mode 100644
index 00000000..e5996b97
--- /dev/null
+++ b/src/test/resources/shows-markdown/disney-001.md
@@ -0,0 +1,32 @@
+---
+id: disney-001
+title: The Mandalorian
+platform: Disney+
+genres:
+ - Sci-Fi
+ - Action
+ - Adventure
+release_year: 2019
+status: Ongoing
+seasons: 3
+episodes: 24
+creators:
+ - Jon Favreau
+cast:
+ - Pedro Pascal
+ - Carl Weathers
+ - Giancarlo Esposito
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 8.6
+tags:
+ - star-wars
+ - space-western
+ - grogu
+ - baby-yoda
+---
+
+# The Mandalorian
+
+The travels of a lone bounty hunter in the outer reaches of the galaxy, far from the authority of the New Republic.
diff --git a/src/test/resources/shows-markdown/disney-002.md b/src/test/resources/shows-markdown/disney-002.md
new file mode 100644
index 00000000..3b5e42cd
--- /dev/null
+++ b/src/test/resources/shows-markdown/disney-002.md
@@ -0,0 +1,33 @@
+---
+id: disney-002
+title: WandaVision
+platform: Disney+
+genres:
+ - Sci-Fi
+ - Drama
+ - Mystery
+release_year: 2021
+end_year: 2021
+status: Ended
+seasons: 1
+episodes: 9
+creators:
+ - Jac Schaeffer
+cast:
+ - Elizabeth Olsen
+ - Paul Bettany
+ - Kathryn Hahn
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 7.9
+tags:
+ - marvel
+ - mcu
+ - sitcom
+ - superhero
+---
+
+# WandaVision
+
+Wanda Maximoff and Vision live idealized suburban lives, but begin to suspect that everything is not as it seems.
diff --git a/src/test/resources/shows-markdown/disney-003.md b/src/test/resources/shows-markdown/disney-003.md
new file mode 100644
index 00000000..ce04be6a
--- /dev/null
+++ b/src/test/resources/shows-markdown/disney-003.md
@@ -0,0 +1,33 @@
+---
+id: disney-003
+title: Andor
+platform: Disney+
+genres:
+ - Sci-Fi
+ - Drama
+ - Action
+release_year: 2022
+end_year: 2025
+status: Ended
+seasons: 2
+episodes: 24
+creators:
+ - Tony Gilroy
+cast:
+ - Diego Luna
+ - Genevieve O'Reilly
+ - Stellan Skarsgård
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 8.4
+tags:
+ - star-wars
+ - rebellion
+ - political
+ - prequel
+---
+
+# Andor
+
+Prequel to Rogue One, exploring a new perspective from the Star Wars galaxy and Cassian Andor's journey to becoming a rebel hero.
diff --git a/src/test/resources/shows-markdown/disney-004.md b/src/test/resources/shows-markdown/disney-004.md
new file mode 100644
index 00000000..e2244f55
--- /dev/null
+++ b/src/test/resources/shows-markdown/disney-004.md
@@ -0,0 +1,33 @@
+---
+id: disney-004
+title: Loki
+platform: Disney+
+genres:
+ - Sci-Fi
+ - Action
+ - Adventure
+release_year: 2021
+end_year: 2023
+status: Ended
+seasons: 2
+episodes: 12
+creators:
+ - Michael Waldron
+cast:
+ - Tom Hiddleston
+ - Owen Wilson
+ - Sophia Di Martino
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 8.2
+tags:
+ - marvel
+ - mcu
+ - multiverse
+ - time-travel
+---
+
+# Loki
+
+The mercurial villain Loki resumes his role as the God of Mischief in a new series that takes place after the events of Avengers: Endgame.
diff --git a/src/test/resources/shows-markdown/hbo-001.md b/src/test/resources/shows-markdown/hbo-001.md
new file mode 100644
index 00000000..a45ed5b7
--- /dev/null
+++ b/src/test/resources/shows-markdown/hbo-001.md
@@ -0,0 +1,35 @@
+---
+id: hbo-001
+title: Game of Thrones
+platform: HBO Max
+genres:
+ - Fantasy
+ - Drama
+ - Adventure
+release_year: 2011
+end_year: 2019
+status: Ended
+seasons: 8
+episodes: 73
+creators:
+ - David Benioff
+ - D.B. Weiss
+cast:
+ - Emilia Clarke
+ - Peter Dinklage
+ - Kit Harington
+ - Lena Headey
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 9.2
+tags:
+ - fantasy
+ - dragons
+ - epic
+ - george-rr-martin
+---
+
+# Game of Thrones
+
+Nine noble families fight for control over the lands of Westeros, while an ancient enemy returns after being dormant for millennia.
diff --git a/src/test/resources/shows-markdown/hbo-002.md b/src/test/resources/shows-markdown/hbo-002.md
new file mode 100644
index 00000000..c5e64af5
--- /dev/null
+++ b/src/test/resources/shows-markdown/hbo-002.md
@@ -0,0 +1,33 @@
+---
+id: hbo-002
+title: Succession
+platform: HBO Max
+genres:
+ - Drama
+ - Comedy
+release_year: 2018
+end_year: 2023
+status: Ended
+seasons: 4
+episodes: 39
+creators:
+ - Jesse Armstrong
+cast:
+ - Brian Cox
+ - Jeremy Strong
+ - Kieran Culkin
+ - Sarah Snook
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.9
+tags:
+ - media
+ - family-drama
+ - satire
+ - wealth
+---
+
+# Succession
+
+The Roy family controls the biggest media and entertainment company in the world, but their patriarch's health is failing.
diff --git a/src/test/resources/shows-markdown/hbo-003.md b/src/test/resources/shows-markdown/hbo-003.md
new file mode 100644
index 00000000..73ec3ff0
--- /dev/null
+++ b/src/test/resources/shows-markdown/hbo-003.md
@@ -0,0 +1,33 @@
+---
+id: hbo-003
+title: The Last of Us
+platform: HBO Max
+genres:
+ - Drama
+ - Horror
+ - Sci-Fi
+release_year: 2023
+status: Ongoing
+seasons: 2
+episodes: 16
+creators:
+ - Craig Mazin
+ - Neil Druckmann
+cast:
+ - Pedro Pascal
+ - Bella Ramsey
+ - Anna Torv
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - post-apocalyptic
+ - zombies
+ - video-game-adaptation
+ - fungal
+---
+
+# The Last of Us
+
+After a global pandemic destroys civilization, a hardened survivor takes charge of a 14-year-old girl who may be humanity's last hope.
diff --git a/src/test/resources/shows-markdown/hbo-004.md b/src/test/resources/shows-markdown/hbo-004.md
new file mode 100644
index 00000000..40bc03f4
--- /dev/null
+++ b/src/test/resources/shows-markdown/hbo-004.md
@@ -0,0 +1,34 @@
+---
+id: hbo-004
+title: House of the Dragon
+platform: HBO Max
+genres:
+ - Fantasy
+ - Drama
+ - Action
+release_year: 2022
+status: Ongoing
+seasons: 2
+episodes: 18
+creators:
+ - Ryan Condal
+ - George R.R. Martin
+cast:
+ - Paddy Considine
+ - Matt Smith
+ - Emma D'Arcy
+ - Olivia Cooke
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.4
+tags:
+ - targaryen
+ - dragons
+ - got-prequel
+ - civil-war
+---
+
+# House of the Dragon
+
+An internal succession war within House Targaryen at the height of its power, 172 years before the birth of Daenerys Targaryen.
diff --git a/src/test/resources/shows-markdown/hbo-005.md b/src/test/resources/shows-markdown/hbo-005.md
new file mode 100644
index 00000000..8f365480
--- /dev/null
+++ b/src/test/resources/shows-markdown/hbo-005.md
@@ -0,0 +1,33 @@
+---
+id: hbo-005
+title: True Detective
+platform: HBO Max
+genres:
+ - Crime
+ - Drama
+ - Mystery
+release_year: 2014
+status: Ongoing
+seasons: 4
+episodes: 32
+creators:
+ - Nic Pizzolatto
+cast:
+ - Matthew McConaughey
+ - Woody Harrelson
+ - Mahershala Ali
+ - Jodie Foster
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.9
+tags:
+ - anthology
+ - noir
+ - detective
+ - atmospheric
+---
+
+# True Detective
+
+An anthology series of police investigations, with each season featuring a new cast and setting.
diff --git a/src/test/resources/shows-markdown/hbo-006.md b/src/test/resources/shows-markdown/hbo-006.md
new file mode 100644
index 00000000..311b183c
--- /dev/null
+++ b/src/test/resources/shows-markdown/hbo-006.md
@@ -0,0 +1,35 @@
+---
+id: hbo-006
+title: Westworld
+platform: HBO Max
+genres:
+ - Sci-Fi
+ - Drama
+ - Mystery
+release_year: 2016
+end_year: 2022
+status: Ended
+seasons: 4
+episodes: 36
+creators:
+ - Jonathan Nolan
+ - Lisa Joy
+cast:
+ - Evan Rachel Wood
+ - Thandiwe Newton
+ - Jeffrey Wright
+ - Ed Harris
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.5
+tags:
+ - ai
+ - consciousness
+ - theme-park
+ - androids
+---
+
+# Westworld
+
+Set in a Western-themed park where guests live out their fantasies through robotic hosts that develop consciousness.
diff --git a/src/test/resources/shows-markdown/hbo-007.md b/src/test/resources/shows-markdown/hbo-007.md
new file mode 100644
index 00000000..93c08a9d
--- /dev/null
+++ b/src/test/resources/shows-markdown/hbo-007.md
@@ -0,0 +1,33 @@
+---
+id: hbo-007
+title: The White Lotus
+platform: HBO Max
+genres:
+ - Comedy
+ - Drama
+ - Mystery
+release_year: 2021
+status: Ongoing
+seasons: 3
+episodes: 18
+creators:
+ - Mike White
+cast:
+ - Murray Bartlett
+ - Jennifer Coolidge
+ - Aubrey Plaza
+ - Theo James
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 7.9
+tags:
+ - anthology
+ - satire
+ - wealth
+ - vacation
+---
+
+# The White Lotus
+
+The exploits of various employees and guests at an exclusive tropical resort.
diff --git a/src/test/resources/shows-markdown/hulu-001.md b/src/test/resources/shows-markdown/hulu-001.md
new file mode 100644
index 00000000..4be4c4d6
--- /dev/null
+++ b/src/test/resources/shows-markdown/hulu-001.md
@@ -0,0 +1,34 @@
+---
+id: hulu-001
+title: The Handmaid's Tale
+platform: Hulu
+genres:
+ - Drama
+ - Sci-Fi
+ - Dystopian
+release_year: 2017
+end_year: 2025
+status: Ended
+seasons: 6
+episodes: 66
+creators:
+ - Bruce Miller
+cast:
+ - Elisabeth Moss
+ - Joseph Fiennes
+ - Yvonne Strahovski
+ - Samira Wiley
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.4
+tags:
+ - dystopian
+ - feminist
+ - atwood
+ - theocracy
+---
+
+# The Handmaid's Tale
+
+Set in a dystopian future, a woman is forced to live as a concubine under a fundamentalist theocratic dictatorship.
diff --git a/src/test/resources/shows-markdown/hulu-002.md b/src/test/resources/shows-markdown/hulu-002.md
new file mode 100644
index 00000000..afa2e38a
--- /dev/null
+++ b/src/test/resources/shows-markdown/hulu-002.md
@@ -0,0 +1,31 @@
+---
+id: hulu-002
+title: The Bear
+platform: Hulu
+genres:
+ - Comedy
+ - Drama
+release_year: 2022
+status: Ongoing
+seasons: 3
+episodes: 28
+creators:
+ - Christopher Storer
+cast:
+ - Jeremy Allen White
+ - Ebon Moss-Bachrach
+ - Ayo Edebiri
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.6
+tags:
+ - cooking
+ - chicago
+ - family
+ - anxiety
+---
+
+# The Bear
+
+A young chef from the fine dining world returns to Chicago to run his family's sandwich shop after a heartbreaking death.
diff --git a/src/test/resources/shows-markdown/hulu-003.md b/src/test/resources/shows-markdown/hulu-003.md
new file mode 100644
index 00000000..83a7a9b5
--- /dev/null
+++ b/src/test/resources/shows-markdown/hulu-003.md
@@ -0,0 +1,33 @@
+---
+id: hulu-003
+title: Only Murders in the Building
+platform: Hulu
+genres:
+ - Comedy
+ - Crime
+ - Mystery
+release_year: 2021
+status: Ongoing
+seasons: 4
+episodes: 40
+creators:
+ - Steve Martin
+ - John Hoffman
+cast:
+ - Steve Martin
+ - Martin Short
+ - Selena Gomez
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.1
+tags:
+ - whodunit
+ - podcast
+ - new-york
+ - comedy-mystery
+---
+
+# Only Murders in the Building
+
+Three strangers who share an obsession with true crime suddenly find themselves wrapped up in one.
diff --git a/src/test/resources/shows-markdown/netflix-001.md b/src/test/resources/shows-markdown/netflix-001.md
new file mode 100644
index 00000000..79152321
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-001.md
@@ -0,0 +1,35 @@
+---
+id: netflix-001
+title: Stranger Things
+platform: Netflix
+genres:
+ - Sci-Fi
+ - Horror
+ - Drama
+release_year: 2016
+end_year: 2025
+status: Ended
+seasons: 5
+episodes: 42
+creators:
+ - Matt Duffer
+ - Ross Duffer
+cast:
+ - Millie Bobby Brown
+ - Finn Wolfhard
+ - Winona Ryder
+ - David Harbour
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 8.7
+tags:
+ - 80s
+ - supernatural
+ - coming-of-age
+ - monsters
+---
+
+# Stranger Things
+
+A group of kids in 1980s Indiana uncover supernatural mysteries and government conspiracies tied to a parallel dimension.
diff --git a/src/test/resources/shows-markdown/netflix-002.md b/src/test/resources/shows-markdown/netflix-002.md
new file mode 100644
index 00000000..340ab2f8
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-002.md
@@ -0,0 +1,34 @@
+---
+id: netflix-002
+title: The Crown
+platform: Netflix
+genres:
+ - Drama
+ - Historical
+ - Biography
+release_year: 2016
+end_year: 2023
+status: Ended
+seasons: 6
+episodes: 60
+creators:
+ - Peter Morgan
+cast:
+ - Claire Foy
+ - Olivia Colman
+ - Imelda Staunton
+ - Matt Smith
+country: UK
+language: English
+rating: TV-MA
+imdb_rating: 8.6
+tags:
+ - royalty
+ - british
+ - period-drama
+ - politics
+---
+
+# The Crown
+
+The reign of Queen Elizabeth II from her wedding in 1947 through the early 21st century.
diff --git a/src/test/resources/shows-markdown/netflix-003.md b/src/test/resources/shows-markdown/netflix-003.md
new file mode 100644
index 00000000..6a233116
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-003.md
@@ -0,0 +1,34 @@
+---
+id: netflix-003
+title: Squid Game
+platform: Netflix
+genres:
+ - Thriller
+ - Drama
+ - Survival
+release_year: 2021
+end_year: 2025
+status: Ended
+seasons: 3
+episodes: 22
+creators:
+ - Hwang Dong-hyuk
+cast:
+ - Lee Jung-jae
+ - Park Hae-soo
+ - Wi Ha-joon
+ - HoYeon Jung
+country: South Korea
+language: Korean
+rating: TV-MA
+imdb_rating: 8.0
+tags:
+ - korean
+ - survival
+ - dystopian
+ - social-commentary
+---
+
+# Squid Game
+
+Hundreds of cash-strapped contestants accept an invitation to compete in deadly children's games for a tempting prize.
diff --git a/src/test/resources/shows-markdown/netflix-004.md b/src/test/resources/shows-markdown/netflix-004.md
new file mode 100644
index 00000000..365a0b1a
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-004.md
@@ -0,0 +1,34 @@
+---
+id: netflix-004
+title: Wednesday
+platform: Netflix
+genres:
+ - Comedy
+ - Horror
+ - Mystery
+release_year: 2022
+status: Ongoing
+seasons: 2
+episodes: 16
+creators:
+ - Alfred Gough
+ - Miles Millar
+cast:
+ - Jenna Ortega
+ - Catherine Zeta-Jones
+ - Luis Guzmán
+ - Gwendoline Christie
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 8.1
+tags:
+ - gothic
+ - teen
+ - supernatural
+ - addams-family
+---
+
+# Wednesday
+
+Wednesday Addams navigates a supernatural boarding school while solving a murder mystery.
diff --git a/src/test/resources/shows-markdown/netflix-005.md b/src/test/resources/shows-markdown/netflix-005.md
new file mode 100644
index 00000000..1b1a4c8b
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-005.md
@@ -0,0 +1,34 @@
+---
+id: netflix-005
+title: Money Heist
+platform: Netflix
+genres:
+ - Crime
+ - Thriller
+ - Drama
+release_year: 2017
+end_year: 2021
+status: Ended
+seasons: 5
+episodes: 41
+creators:
+ - Álex Pina
+cast:
+ - Úrsula Corberó
+ - Álvaro Morte
+ - Pedro Alonso
+ - Itziar Ituño
+country: Spain
+language: Spanish
+rating: TV-MA
+imdb_rating: 8.2
+tags:
+ - spanish
+ - heist
+ - crime
+ - ensemble
+---
+
+# Money Heist
+
+An unusual group of robbers attempt to carry out the most perfect robbery in Spanish history.
diff --git a/src/test/resources/shows-markdown/netflix-006.md b/src/test/resources/shows-markdown/netflix-006.md
new file mode 100644
index 00000000..7612b242
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-006.md
@@ -0,0 +1,35 @@
+---
+id: netflix-006
+title: Dark
+platform: Netflix
+genres:
+ - Sci-Fi
+ - Mystery
+ - Thriller
+release_year: 2017
+end_year: 2020
+status: Ended
+seasons: 3
+episodes: 26
+creators:
+ - Baran bo Odar
+ - Jantje Friese
+cast:
+ - Louis Hofmann
+ - Karoline Eichhorn
+ - Lisa Vicari
+ - Maja Schöne
+country: Germany
+language: German
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - time-travel
+ - german
+ - complex-plot
+ - mystery
+---
+
+# Dark
+
+A family saga with a supernatural twist set in a German town where the disappearance of children exposes the relationships among four families.
diff --git a/src/test/resources/shows-markdown/netflix-007.md b/src/test/resources/shows-markdown/netflix-007.md
new file mode 100644
index 00000000..60eb04b6
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-007.md
@@ -0,0 +1,35 @@
+---
+id: netflix-007
+title: Ozark
+platform: Netflix
+genres:
+ - Crime
+ - Drama
+ - Thriller
+release_year: 2017
+end_year: 2022
+status: Ended
+seasons: 4
+episodes: 44
+creators:
+ - Bill Dubuque
+ - Mark Williams
+cast:
+ - Jason Bateman
+ - Laura Linney
+ - Julia Garner
+ - Sofia Hublitz
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.5
+tags:
+ - money-laundering
+ - cartel
+ - family-drama
+ - crime
+---
+
+# Ozark
+
+A financial advisor drags his family from Chicago to the Missouri Ozarks, where he must launder money to appease a drug boss.
diff --git a/src/test/resources/shows-markdown/netflix-008.md b/src/test/resources/shows-markdown/netflix-008.md
new file mode 100644
index 00000000..65b4c6db
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-008.md
@@ -0,0 +1,30 @@
+---
+id: netflix-008
+title: Black Mirror
+platform: Netflix
+genres:
+ - Sci-Fi
+ - Drama
+ - Anthology
+release_year: 2011
+status: Ongoing
+seasons: 7
+episodes: 33
+creators:
+ - Charlie Brooker
+cast:
+ - Various
+country: UK
+language: English
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - anthology
+ - technology
+ - dystopian
+ - british
+---
+
+# Black Mirror
+
+An anthology series exploring a twisted, high-tech multiverse where humanity's greatest innovations collide with its darkest instincts.
diff --git a/src/test/resources/shows-markdown/netflix-009.md b/src/test/resources/shows-markdown/netflix-009.md
new file mode 100644
index 00000000..2e5ee79c
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-009.md
@@ -0,0 +1,33 @@
+---
+id: netflix-009
+title: The Witcher
+platform: Netflix
+genres:
+ - Fantasy
+ - Action
+ - Adventure
+release_year: 2019
+status: Ongoing
+seasons: 4
+episodes: 32
+creators:
+ - Lauren Schmidt Hissrich
+cast:
+ - Henry Cavill
+ - Liam Hemsworth
+ - Anya Chalotra
+ - Freya Allan
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.0
+tags:
+ - fantasy
+ - monsters
+ - magic
+ - adaptation
+---
+
+# The Witcher
+
+Geralt of Rivia, a solitary monster hunter, struggles to find his place in a world where people often prove more wicked than beasts.
diff --git a/src/test/resources/shows-markdown/netflix-010.md b/src/test/resources/shows-markdown/netflix-010.md
new file mode 100644
index 00000000..b0639d2c
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-010.md
@@ -0,0 +1,33 @@
+---
+id: netflix-010
+title: Bridgerton
+platform: Netflix
+genres:
+ - Romance
+ - Drama
+ - Historical
+release_year: 2020
+status: Ongoing
+seasons: 3
+episodes: 24
+creators:
+ - Chris Van Dusen
+cast:
+ - Phoebe Dynevor
+ - Regé-Jean Page
+ - Jonathan Bailey
+ - Nicola Coughlan
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 7.3
+tags:
+ - regency
+ - romance
+ - period-drama
+ - shondaland
+---
+
+# Bridgerton
+
+Wealth, lust, and betrayal set against the backdrop of Regency-era England, seen through the eyes of the powerful Bridgerton family.
diff --git a/src/test/resources/shows-markdown/netflix-011.md b/src/test/resources/shows-markdown/netflix-011.md
new file mode 100644
index 00000000..51c86653
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-011.md
@@ -0,0 +1,35 @@
+---
+id: netflix-011
+title: Narcos
+platform: Netflix
+genres:
+ - Crime
+ - Biography
+ - Drama
+release_year: 2015
+end_year: 2017
+status: Ended
+seasons: 3
+episodes: 30
+creators:
+ - Chris Brancato
+ - Carlo Bernard
+ - Doug Miro
+cast:
+ - Wagner Moura
+ - Pedro Pascal
+ - Boyd Holbrook
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.8
+tags:
+ - cartel
+ - colombia
+ - true-crime
+ - pablo-escobar
+---
+
+# Narcos
+
+The true story of Colombia's infamously violent and powerful drug cartels.
diff --git a/src/test/resources/shows-markdown/netflix-012.md b/src/test/resources/shows-markdown/netflix-012.md
new file mode 100644
index 00000000..7c3b8b11
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-012.md
@@ -0,0 +1,33 @@
+---
+id: netflix-012
+title: Mindhunter
+platform: Netflix
+genres:
+ - Crime
+ - Drama
+ - Thriller
+release_year: 2017
+end_year: 2019
+status: Ended
+seasons: 2
+episodes: 19
+creators:
+ - Joe Penhall
+cast:
+ - Jonathan Groff
+ - Holt McCallany
+ - Anna Torv
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.6
+tags:
+ - fbi
+ - serial-killers
+ - psychology
+ - fincher
+---
+
+# Mindhunter
+
+Two FBI agents interview imprisoned serial killers to apply behavioral science to their open cases.
diff --git a/src/test/resources/shows-markdown/netflix-013.md b/src/test/resources/shows-markdown/netflix-013.md
new file mode 100644
index 00000000..e2f361ce
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-013.md
@@ -0,0 +1,33 @@
+---
+id: netflix-013
+title: The Queen's Gambit
+platform: Netflix
+genres:
+ - Drama
+ - Period
+release_year: 2020
+end_year: 2020
+status: Ended
+seasons: 1
+episodes: 7
+creators:
+ - Scott Frank
+ - Allan Scott
+cast:
+ - Anya Taylor-Joy
+ - Bill Camp
+ - Marielle Heller
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.5
+tags:
+ - chess
+ - limited-series
+ - cold-war
+ - addiction
+---
+
+# The Queen's Gambit
+
+An orphaned chess prodigy rises to the top of the chess world while struggling with addiction.
diff --git a/src/test/resources/shows-markdown/netflix-014.md b/src/test/resources/shows-markdown/netflix-014.md
new file mode 100644
index 00000000..baee4e32
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-014.md
@@ -0,0 +1,34 @@
+---
+id: netflix-014
+title: BoJack Horseman
+platform: Netflix
+genres:
+ - Animation
+ - Comedy
+ - Drama
+release_year: 2014
+end_year: 2020
+status: Ended
+seasons: 6
+episodes: 77
+creators:
+ - Raphael Bob-Waksberg
+cast:
+ - Will Arnett
+ - Aaron Paul
+ - Amy Sedaris
+ - Alison Brie
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.8
+tags:
+ - animation
+ - adult-animation
+ - satire
+ - mental-health
+---
+
+# BoJack Horseman
+
+A washed-up actor who happens to be a horse navigates Hollywood life, depression, and existentialism.
diff --git a/src/test/resources/shows-markdown/netflix-015.md b/src/test/resources/shows-markdown/netflix-015.md
new file mode 100644
index 00000000..4e22e095
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-015.md
@@ -0,0 +1,34 @@
+---
+id: netflix-015
+title: Peaky Blinders
+platform: Netflix
+genres:
+ - Crime
+ - Drama
+ - Historical
+release_year: 2013
+end_year: 2022
+status: Ended
+seasons: 6
+episodes: 36
+creators:
+ - Steven Knight
+cast:
+ - Cillian Murphy
+ - Paul Anderson
+ - Helen McCrory
+ - Tom Hardy
+country: UK
+language: English
+rating: TV-MA
+imdb_rating: 8.8
+tags:
+ - british
+ - gangster
+ - period-drama
+ - birmingham
+---
+
+# Peaky Blinders
+
+A gangster family epic set in 1900s England, centering on a gang led by the fierce Tommy Shelby.
diff --git a/src/test/resources/shows-markdown/netflix-016.md b/src/test/resources/shows-markdown/netflix-016.md
new file mode 100644
index 00000000..54b67431
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-016.md
@@ -0,0 +1,33 @@
+---
+id: netflix-016
+title: Lupin
+platform: Netflix
+genres:
+ - Crime
+ - Mystery
+ - Drama
+release_year: 2021
+status: Ongoing
+seasons: 3
+episodes: 17
+creators:
+ - George Kay
+ - François Uzan
+cast:
+ - Omar Sy
+ - Ludivine Sagnier
+ - Clotilde Hesme
+country: France
+language: French
+rating: TV-MA
+imdb_rating: 7.5
+tags:
+ - french
+ - heist
+ - revenge
+ - paris
+---
+
+# Lupin
+
+Inspired by Arsène Lupin, gentleman thief Assane Diop sets out to avenge his father for an injustice inflicted by a wealthy family.
diff --git a/src/test/resources/shows-markdown/netflix-017.md b/src/test/resources/shows-markdown/netflix-017.md
new file mode 100644
index 00000000..0ba292a1
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-017.md
@@ -0,0 +1,34 @@
+---
+id: netflix-017
+title: The Umbrella Academy
+platform: Netflix
+genres:
+ - Sci-Fi
+ - Action
+ - Drama
+release_year: 2019
+end_year: 2024
+status: Ended
+seasons: 4
+episodes: 34
+creators:
+ - Steve Blackman
+cast:
+ - Elliot Page
+ - Tom Hopper
+ - David Castañeda
+ - Emmy Raver-Lampman
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 7.9
+tags:
+ - superheroes
+ - time-travel
+ - comic-adaptation
+ - family
+---
+
+# The Umbrella Academy
+
+A dysfunctional family of adopted sibling superheroes reunites to solve the mystery of their father's death and the threat of an apocalypse.
diff --git a/src/test/resources/shows-markdown/netflix-018.md b/src/test/resources/shows-markdown/netflix-018.md
new file mode 100644
index 00000000..5e80e041
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-018.md
@@ -0,0 +1,34 @@
+---
+id: netflix-018
+title: Sex Education
+platform: Netflix
+genres:
+ - Comedy
+ - Drama
+ - Romance
+release_year: 2019
+end_year: 2023
+status: Ended
+seasons: 4
+episodes: 32
+creators:
+ - Laurie Nunn
+cast:
+ - Asa Butterfield
+ - Gillian Anderson
+ - Emma Mackey
+ - Ncuti Gatwa
+country: UK
+language: English
+rating: TV-MA
+imdb_rating: 8.3
+tags:
+ - teen
+ - british
+ - coming-of-age
+ - lgbtq
+---
+
+# Sex Education
+
+A teenage boy with a sex therapist mother teams up with a high school classmate to set up an underground sex therapy clinic at school.
diff --git a/src/test/resources/shows-markdown/netflix-019.md b/src/test/resources/shows-markdown/netflix-019.md
new file mode 100644
index 00000000..8c401bd1
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-019.md
@@ -0,0 +1,33 @@
+---
+id: netflix-019
+title: House of Cards
+platform: Netflix
+genres:
+ - Drama
+ - Political
+ - Thriller
+release_year: 2013
+end_year: 2018
+status: Ended
+seasons: 6
+episodes: 73
+creators:
+ - Beau Willimon
+cast:
+ - Kevin Spacey
+ - Robin Wright
+ - Michael Kelly
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - politics
+ - washington
+ - dc
+ - machiavellian
+---
+
+# House of Cards
+
+A ruthless politician will stop at nothing to conquer Washington, D.C.
diff --git a/src/test/resources/shows-markdown/netflix-020.md b/src/test/resources/shows-markdown/netflix-020.md
new file mode 100644
index 00000000..33e6f243
--- /dev/null
+++ b/src/test/resources/shows-markdown/netflix-020.md
@@ -0,0 +1,34 @@
+---
+id: netflix-020
+title: Beef
+platform: Netflix
+genres:
+ - Comedy
+ - Drama
+ - Thriller
+release_year: 2023
+end_year: 2023
+status: Ended
+seasons: 1
+episodes: 10
+creators:
+ - Lee Sung Jin
+cast:
+ - Steven Yeun
+ - Ali Wong
+ - Joseph Lee
+ - Young Mazino
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.0
+tags:
+ - limited-series
+ - dark-comedy
+ - a24
+ - asian-american
+---
+
+# Beef
+
+A road rage incident between two strangers triggers a feud that brings out their darkest impulses.
diff --git a/src/test/resources/shows-markdown/paramount-001.md b/src/test/resources/shows-markdown/paramount-001.md
new file mode 100644
index 00000000..83e3f845
--- /dev/null
+++ b/src/test/resources/shows-markdown/paramount-001.md
@@ -0,0 +1,34 @@
+---
+id: paramount-001
+title: Yellowstone
+platform: Paramount+
+genres:
+ - Drama
+ - Western
+release_year: 2018
+end_year: 2024
+status: Ended
+seasons: 5
+episodes: 53
+creators:
+ - Taylor Sheridan
+ - John Linson
+cast:
+ - Kevin Costner
+ - Luke Grimes
+ - Kelly Reilly
+ - Wes Bentley
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - western
+ - ranch
+ - family-drama
+ - montana
+---
+
+# Yellowstone
+
+A ranching family in Montana faces off against others encroaching on their land.
diff --git a/src/test/resources/shows-markdown/paramount-002.md b/src/test/resources/shows-markdown/paramount-002.md
new file mode 100644
index 00000000..9bf69de2
--- /dev/null
+++ b/src/test/resources/shows-markdown/paramount-002.md
@@ -0,0 +1,34 @@
+---
+id: paramount-002
+title: Star Trek: Strange New Worlds
+platform: Paramount+
+genres:
+ - Sci-Fi
+ - Adventure
+ - Drama
+release_year: 2022
+status: Ongoing
+seasons: 3
+episodes: 30
+creators:
+ - Akiva Goldsman
+ - Alex Kurtzman
+ - Jenny Lumet
+cast:
+ - Anson Mount
+ - Rebecca Romijn
+ - Ethan Peck
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 8.1
+tags:
+ - star-trek
+ - space
+ - enterprise
+ - pike
+---
+
+# Star Trek: Strange New Worlds
+
+Captain Christopher Pike helms the USS Enterprise as it explores new worlds in the years before Captain Kirk's iconic missions.
diff --git a/src/test/resources/shows-markdown/peacock-001.md b/src/test/resources/shows-markdown/peacock-001.md
new file mode 100644
index 00000000..accfd647
--- /dev/null
+++ b/src/test/resources/shows-markdown/peacock-001.md
@@ -0,0 +1,30 @@
+---
+id: peacock-001
+title: Poker Face
+platform: Peacock
+genres:
+ - Crime
+ - Comedy
+ - Mystery
+release_year: 2023
+status: Ongoing
+seasons: 2
+episodes: 20
+creators:
+ - Rian Johnson
+cast:
+ - Natasha Lyonne
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.1
+tags:
+ - mystery-of-the-week
+ - rian-johnson
+ - columbo
+ - road-trip
+---
+
+# Poker Face
+
+A casino worker with the ability to determine when someone is lying hits the road, solving crimes along the way.
diff --git a/src/test/resources/shows-markdown/prime-001.md b/src/test/resources/shows-markdown/prime-001.md
new file mode 100644
index 00000000..dff42fb0
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-001.md
@@ -0,0 +1,33 @@
+---
+id: prime-001
+title: The Boys
+platform: Amazon Prime Video
+genres:
+ - Action
+ - Sci-Fi
+ - Drama
+release_year: 2019
+status: Ongoing
+seasons: 4
+episodes: 32
+creators:
+ - Eric Kripke
+cast:
+ - Karl Urban
+ - Jack Quaid
+ - Antony Starr
+ - Erin Moriarty
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - superheroes
+ - satire
+ - violent
+ - comic-adaptation
+---
+
+# The Boys
+
+A group of vigilantes set out to take down corrupt superheroes who abuse their powers.
diff --git a/src/test/resources/shows-markdown/prime-002.md b/src/test/resources/shows-markdown/prime-002.md
new file mode 100644
index 00000000..63d1b77c
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-002.md
@@ -0,0 +1,34 @@
+---
+id: prime-002
+title: The Marvelous Mrs. Maisel
+platform: Amazon Prime Video
+genres:
+ - Comedy
+ - Drama
+ - Period
+release_year: 2017
+end_year: 2023
+status: Ended
+seasons: 5
+episodes: 43
+creators:
+ - Amy Sherman-Palladino
+cast:
+ - Rachel Brosnahan
+ - Alex Borstein
+ - Michael Zegen
+ - Tony Shalhoub
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - 50s
+ - stand-up
+ - feminist
+ - new-york
+---
+
+# The Marvelous Mrs. Maisel
+
+A 1950s New York housewife discovers she has a talent for stand-up comedy.
diff --git a/src/test/resources/shows-markdown/prime-003.md b/src/test/resources/shows-markdown/prime-003.md
new file mode 100644
index 00000000..118107b0
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-003.md
@@ -0,0 +1,33 @@
+---
+id: prime-003
+title: Fleabag
+platform: Amazon Prime Video
+genres:
+ - Comedy
+ - Drama
+release_year: 2016
+end_year: 2019
+status: Ended
+seasons: 2
+episodes: 12
+creators:
+ - Phoebe Waller-Bridge
+cast:
+ - Phoebe Waller-Bridge
+ - Sian Clifford
+ - Olivia Colman
+ - Andrew Scott
+country: UK
+language: English
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - british
+ - dark-comedy
+ - fourth-wall
+ - limited-series
+---
+
+# Fleabag
+
+A dry-witted woman navigates life and love in London while trying to cope with tragedy.
diff --git a/src/test/resources/shows-markdown/prime-004.md b/src/test/resources/shows-markdown/prime-004.md
new file mode 100644
index 00000000..deb3f502
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-004.md
@@ -0,0 +1,35 @@
+---
+id: prime-004
+title: The Expanse
+platform: Amazon Prime Video
+genres:
+ - Sci-Fi
+ - Drama
+ - Mystery
+release_year: 2015
+end_year: 2022
+status: Ended
+seasons: 6
+episodes: 62
+creators:
+ - Mark Fergus
+ - Hawk Ostby
+cast:
+ - Steven Strait
+ - Dominique Tipper
+ - Wes Chatham
+ - Shohreh Aghdashloo
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 8.5
+tags:
+ - space
+ - hard-sci-fi
+ - politics
+ - adaptation
+---
+
+# The Expanse
+
+In a colonized future solar system, a detective, a ship's officer, and a UN executive uncover a conspiracy.
diff --git a/src/test/resources/shows-markdown/prime-005.md b/src/test/resources/shows-markdown/prime-005.md
new file mode 100644
index 00000000..17c90dc3
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-005.md
@@ -0,0 +1,34 @@
+---
+id: prime-005
+title: The Lord of the Rings: The Rings of Power
+platform: Amazon Prime Video
+genres:
+ - Fantasy
+ - Adventure
+ - Drama
+release_year: 2022
+status: Ongoing
+seasons: 2
+episodes: 16
+creators:
+ - J.D. Payne
+ - Patrick McKay
+cast:
+ - Morfydd Clark
+ - Robert Aramayo
+ - Charlie Vickers
+ - Markella Kavenagh
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 6.9
+tags:
+ - tolkien
+ - middle-earth
+ - epic
+ - high-budget
+---
+
+# The Lord of the Rings: The Rings of Power
+
+Epic drama set thousands of years before the events of The Hobbit and The Lord of the Rings, follows an ensemble cast in the Second Age of Middle-earth.
diff --git a/src/test/resources/shows-markdown/prime-006.md b/src/test/resources/shows-markdown/prime-006.md
new file mode 100644
index 00000000..d63503c9
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-006.md
@@ -0,0 +1,32 @@
+---
+id: prime-006
+title: Reacher
+platform: Amazon Prime Video
+genres:
+ - Action
+ - Crime
+ - Drama
+release_year: 2022
+status: Ongoing
+seasons: 3
+episodes: 24
+creators:
+ - Nick Santora
+cast:
+ - Alan Ritchson
+ - Malcolm Goodwin
+ - Willa Fitzgerald
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.1
+tags:
+ - action
+ - thriller
+ - lee-child
+ - adaptation
+---
+
+# Reacher
+
+Veteran military police investigator Jack Reacher solves crimes as a drifter.
diff --git a/src/test/resources/shows-markdown/prime-007.md b/src/test/resources/shows-markdown/prime-007.md
new file mode 100644
index 00000000..36ce35da
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-007.md
@@ -0,0 +1,34 @@
+---
+id: prime-007
+title: Jack Ryan
+platform: Amazon Prime Video
+genres:
+ - Action
+ - Thriller
+ - Drama
+release_year: 2018
+end_year: 2023
+status: Ended
+seasons: 4
+episodes: 32
+creators:
+ - Carlton Cuse
+ - Graham Roland
+cast:
+ - John Krasinski
+ - Wendell Pierce
+ - Abbie Cornish
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.0
+tags:
+ - cia
+ - spy
+ - tom-clancy
+ - adaptation
+---
+
+# Jack Ryan
+
+An up-and-coming CIA analyst is thrust into a dangerous field assignment.
diff --git a/src/test/resources/shows-markdown/prime-008.md b/src/test/resources/shows-markdown/prime-008.md
new file mode 100644
index 00000000..0e85b8a4
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-008.md
@@ -0,0 +1,34 @@
+---
+id: prime-008
+title: Fallout
+platform: Amazon Prime Video
+genres:
+ - Sci-Fi
+ - Action
+ - Adventure
+release_year: 2024
+status: Ongoing
+seasons: 1
+episodes: 8
+creators:
+ - Graham Wagner
+ - Geneva Robertson-Dworet
+cast:
+ - Ella Purnell
+ - Walton Goggins
+ - Aaron Moten
+ - Kyle MacLachlan
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.4
+tags:
+ - post-apocalyptic
+ - video-game-adaptation
+ - wasteland
+ - vaults
+---
+
+# Fallout
+
+In a future, post-apocalyptic Los Angeles brought about by nuclear decimation, citizens must live in underground bunkers to protect themselves.
diff --git a/src/test/resources/shows-markdown/prime-009.md b/src/test/resources/shows-markdown/prime-009.md
new file mode 100644
index 00000000..2690af40
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-009.md
@@ -0,0 +1,32 @@
+---
+id: prime-009
+title: Mr. & Mrs. Smith
+platform: Amazon Prime Video
+genres:
+ - Action
+ - Comedy
+ - Romance
+release_year: 2024
+status: Ongoing
+seasons: 1
+episodes: 8
+creators:
+ - Donald Glover
+ - Francesca Sloane
+cast:
+ - Donald Glover
+ - Maya Erskine
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 7.2
+tags:
+ - spy
+ - romance
+ - remake
+ - donald-glover
+---
+
+# Mr. & Mrs. Smith
+
+Two lonely strangers take a job working for a mysterious spy agency that offers them a glamorous life, a dream brownstone in Manhattan, and a new identity as a married couple.
diff --git a/src/test/resources/shows-markdown/prime-010.md b/src/test/resources/shows-markdown/prime-010.md
new file mode 100644
index 00000000..5e6f8963
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-010.md
@@ -0,0 +1,33 @@
+---
+id: prime-010
+title: The Wheel of Time
+platform: Amazon Prime Video
+genres:
+ - Fantasy
+ - Adventure
+ - Action
+release_year: 2021
+status: Ongoing
+seasons: 3
+episodes: 24
+creators:
+ - Rafe Judkins
+cast:
+ - Rosamund Pike
+ - Daniel Henney
+ - Josha Stradowski
+ - Madeleine Madden
+country: USA
+language: English
+rating: TV-14
+imdb_rating: 7.0
+tags:
+ - fantasy
+ - magic
+ - robert-jordan
+ - epic
+---
+
+# The Wheel of Time
+
+Set in a high fantasy world where magic exists, but only some can access it, a woman named Moiraine leads five young people on a journey.
diff --git a/src/test/resources/shows-markdown/prime-011.md b/src/test/resources/shows-markdown/prime-011.md
new file mode 100644
index 00000000..5cf2dfed
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-011.md
@@ -0,0 +1,33 @@
+---
+id: prime-011
+title: Good Omens
+platform: Amazon Prime Video
+genres:
+ - Comedy
+ - Fantasy
+ - Drama
+release_year: 2019
+status: Ongoing
+seasons: 2
+episodes: 12
+creators:
+ - Neil Gaiman
+cast:
+ - David Tennant
+ - Michael Sheen
+ - Jon Hamm
+ - Frances McDormand
+country: UK
+language: English
+rating: TV-MA
+imdb_rating: 8.0
+tags:
+ - british
+ - supernatural
+ - gaiman
+ - pratchett
+---
+
+# Good Omens
+
+A demon and an angel attempt to prevent the apocalypse on Earth, which they have grown rather fond of over the millennia.
diff --git a/src/test/resources/shows-markdown/prime-012.md b/src/test/resources/shows-markdown/prime-012.md
new file mode 100644
index 00000000..3ba9793d
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-012.md
@@ -0,0 +1,32 @@
+---
+id: prime-012
+title: The Terminal List
+platform: Amazon Prime Video
+genres:
+ - Action
+ - Drama
+ - Thriller
+release_year: 2022
+status: Ongoing
+seasons: 1
+episodes: 8
+creators:
+ - David DiGilio
+cast:
+ - Chris Pratt
+ - Constance Wu
+ - Taylor Kitsch
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.0
+tags:
+ - navy-seal
+ - revenge
+ - military
+ - thriller
+---
+
+# The Terminal List
+
+A former Navy SEAL officer investigates why his entire platoon was ambushed during a high-stakes covert mission.
diff --git a/src/test/resources/shows-markdown/prime-013.md b/src/test/resources/shows-markdown/prime-013.md
new file mode 100644
index 00000000..4a003d43
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-013.md
@@ -0,0 +1,32 @@
+---
+id: prime-013
+title: Upload
+platform: Amazon Prime Video
+genres:
+ - Sci-Fi
+ - Comedy
+ - Mystery
+release_year: 2020
+status: Ongoing
+seasons: 3
+episodes: 24
+creators:
+ - Greg Daniels
+cast:
+ - Robbie Amell
+ - Andy Allo
+ - Allegra Edwards
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 7.9
+tags:
+ - afterlife
+ - technology
+ - sci-fi-comedy
+ - near-future
+---
+
+# Upload
+
+A man is able to choose his own afterlife after his untimely death by having his consciousness uploaded into a virtual world.
diff --git a/src/test/resources/shows-markdown/prime-014.md b/src/test/resources/shows-markdown/prime-014.md
new file mode 100644
index 00000000..308276db
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-014.md
@@ -0,0 +1,33 @@
+---
+id: prime-014
+title: Bosch
+platform: Amazon Prime Video
+genres:
+ - Crime
+ - Drama
+ - Mystery
+release_year: 2014
+end_year: 2021
+status: Ended
+seasons: 7
+episodes: 68
+creators:
+ - Eric Overmyer
+cast:
+ - Titus Welliver
+ - Jamie Hector
+ - Amy Aquino
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.5
+tags:
+ - detective
+ - los-angeles
+ - procedural
+ - michael-connelly
+---
+
+# Bosch
+
+An LAPD homicide detective works to solve the murder of a 13-year-old boy.
diff --git a/src/test/resources/shows-markdown/prime-015.md b/src/test/resources/shows-markdown/prime-015.md
new file mode 100644
index 00000000..1f8b1d90
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-015.md
@@ -0,0 +1,33 @@
+---
+id: prime-015
+title: Invincible
+platform: Amazon Prime Video
+genres:
+ - Animation
+ - Action
+ - Drama
+release_year: 2021
+status: Ongoing
+seasons: 3
+episodes: 24
+creators:
+ - Robert Kirkman
+cast:
+ - Steven Yeun
+ - J.K. Simmons
+ - Sandra Oh
+ - Zazie Beetz
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 8.7
+tags:
+ - adult-animation
+ - superheroes
+ - violent
+ - comic-adaptation
+---
+
+# Invincible
+
+An adult animated series about a teenager whose father is the most powerful superhero on the planet.
diff --git a/src/test/resources/shows-markdown/prime-016.md b/src/test/resources/shows-markdown/prime-016.md
new file mode 100644
index 00000000..156d1153
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-016.md
@@ -0,0 +1,34 @@
+---
+id: prime-016
+title: Vikings
+platform: Amazon Prime Video
+genres:
+ - Drama
+ - Action
+ - Historical
+release_year: 2013
+end_year: 2020
+status: Ended
+seasons: 6
+episodes: 89
+creators:
+ - Michael Hirst
+cast:
+ - Travis Fimmel
+ - Katheryn Winnick
+ - Clive Standen
+ - Gustaf Skarsgård
+country: Ireland
+language: English
+rating: TV-MA
+imdb_rating: 8.5
+tags:
+ - vikings
+ - historical
+ - norse
+ - ragnar
+---
+
+# Vikings
+
+The world of the Vikings is brought to life through the journey of Ragnar Lothbrok, the first Viking to emerge from Norse legend.
diff --git a/src/test/resources/shows-markdown/prime-017.md b/src/test/resources/shows-markdown/prime-017.md
new file mode 100644
index 00000000..2c83ad43
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-017.md
@@ -0,0 +1,32 @@
+---
+id: prime-017
+title: The Underground Railroad
+platform: Amazon Prime Video
+genres:
+ - Drama
+ - Historical
+release_year: 2021
+end_year: 2021
+status: Ended
+seasons: 1
+episodes: 10
+creators:
+ - Barry Jenkins
+cast:
+ - Thuso Mbedu
+ - Chase W. Dillon
+ - Joel Edgerton
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 7.4
+tags:
+ - limited-series
+ - slavery
+ - barry-jenkins
+ - literary-adaptation
+---
+
+# The Underground Railroad
+
+A young woman makes a harrowing escape from antebellum slavery via an underground railroad that travels in a literal underground train.
diff --git a/src/test/resources/shows-markdown/prime-018.md b/src/test/resources/shows-markdown/prime-018.md
new file mode 100644
index 00000000..5448b725
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-018.md
@@ -0,0 +1,34 @@
+---
+id: prime-018
+title: Hunters
+platform: Amazon Prime Video
+genres:
+ - Drama
+ - Thriller
+ - Action
+release_year: 2020
+end_year: 2023
+status: Ended
+seasons: 2
+episodes: 18
+creators:
+ - David Weil
+cast:
+ - Al Pacino
+ - Logan Lerman
+ - Jerrika Hinton
+ - Lena Olin
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 7.2
+tags:
+ - nazi-hunters
+ - 70s
+ - alternate-history
+ - new-york
+---
+
+# Hunters
+
+A diverse band of Nazi hunters living in 1977 New York City discover that hundreds of high-ranking Nazi officials are conspiring to create a Fourth Reich in the U.S.
diff --git a/src/test/resources/shows-markdown/prime-019.md b/src/test/resources/shows-markdown/prime-019.md
new file mode 100644
index 00000000..3b974cb4
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-019.md
@@ -0,0 +1,34 @@
+---
+id: prime-019
+title: Carnival Row
+platform: Amazon Prime Video
+genres:
+ - Fantasy
+ - Drama
+ - Mystery
+release_year: 2019
+end_year: 2023
+status: Ended
+seasons: 2
+episodes: 18
+creators:
+ - René Echevarria
+ - Travis Beacham
+cast:
+ - Orlando Bloom
+ - Cara Delevingne
+ - Simon McBurney
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 7.8
+tags:
+ - fantasy
+ - victorian
+ - mythical-creatures
+ - noir
+---
+
+# Carnival Row
+
+Mythical creatures have fled their war-torn homeland and gathered in a city where humans live, leading to escalating tensions.
diff --git a/src/test/resources/shows-markdown/prime-020.md b/src/test/resources/shows-markdown/prime-020.md
new file mode 100644
index 00000000..8a93cecd
--- /dev/null
+++ b/src/test/resources/shows-markdown/prime-020.md
@@ -0,0 +1,34 @@
+---
+id: prime-020
+title: Citadel
+platform: Amazon Prime Video
+genres:
+ - Action
+ - Drama
+ - Thriller
+release_year: 2023
+status: Ongoing
+seasons: 1
+episodes: 6
+creators:
+ - Josh Appelbaum
+ - Bryan Oh
+ - David Weil
+cast:
+ - Richard Madden
+ - Priyanka Chopra Jonas
+ - Stanley Tucci
+country: USA
+language: English
+rating: TV-MA
+imdb_rating: 5.9
+tags:
+ - spy
+ - russo-brothers
+ - global
+ - amnesia
+---
+
+# Citadel
+
+Eight years after the fall of an independent global spy agency, two former agents must work together to stop a new threat.
diff --git a/src/test/resources/shows.csv b/src/test/resources/shows.csv
new file mode 100644
index 00000000..8ccdb8fa
--- /dev/null
+++ b/src/test/resources/shows.csv
@@ -0,0 +1,62 @@
+id,title,platform,genres,genres,genres,release_year,end_year,status,seasons,episodes,creators,creators,creators,cast,cast,cast,cast,country,language,rating,imdb_rating,description,tags,tags,tags,tags
+netflix-001,Stranger Things,Netflix,Sci-Fi,Horror,Drama,2016,2025,Ended,5,42,Matt Duffer,Ross Duffer,,Millie Bobby Brown,Finn Wolfhard,Winona Ryder,David Harbour,USA,English,TV-14,8.7,A group of kids in 1980s Indiana uncover supernatural mysteries and government conspiracies tied to a parallel dimension.,80s,supernatural,coming-of-age,monsters
+netflix-002,The Crown,Netflix,Drama,Historical,Biography,2016,2023,Ended,6,60,Peter Morgan,,,Claire Foy,Olivia Colman,Imelda Staunton,Matt Smith,UK,English,TV-MA,8.6,The reign of Queen Elizabeth II from her wedding in 1947 through the early 21st century.,royalty,british,period-drama,politics
+netflix-003,Squid Game,Netflix,Thriller,Drama,Survival,2021,2025,Ended,3,22,Hwang Dong-hyuk,,,Lee Jung-jae,Park Hae-soo,Wi Ha-joon,HoYeon Jung,South Korea,Korean,TV-MA,8.0,Hundreds of cash-strapped contestants accept an invitation to compete in deadly children's games for a tempting prize.,korean,survival,dystopian,social-commentary
+netflix-004,Wednesday,Netflix,Comedy,Horror,Mystery,2022,,Ongoing,2,16,Alfred Gough,Miles Millar,,Jenna Ortega,Catherine Zeta-Jones,Luis Guzmán,Gwendoline Christie,USA,English,TV-14,8.1,Wednesday Addams navigates a supernatural boarding school while solving a murder mystery.,gothic,teen,supernatural,addams-family
+netflix-005,Money Heist,Netflix,Crime,Thriller,Drama,2017,2021,Ended,5,41,Álex Pina,,,Úrsula Corberó,Álvaro Morte,Pedro Alonso,Itziar Ituño,Spain,Spanish,TV-MA,8.2,An unusual group of robbers attempt to carry out the most perfect robbery in Spanish history.,spanish,heist,crime,ensemble
+netflix-006,Dark,Netflix,Sci-Fi,Mystery,Thriller,2017,2020,Ended,3,26,Baran bo Odar,Jantje Friese,,Louis Hofmann,Karoline Eichhorn,Lisa Vicari,Maja Schöne,Germany,German,TV-MA,8.7,A family saga with a supernatural twist set in a German town where the disappearance of children exposes the relationships among four families.,time-travel,german,complex-plot,mystery
+netflix-007,Ozark,Netflix,Crime,Drama,Thriller,2017,2022,Ended,4,44,Bill Dubuque,Mark Williams,,Jason Bateman,Laura Linney,Julia Garner,Sofia Hublitz,USA,English,TV-MA,8.5,"A financial advisor drags his family from Chicago to the Missouri Ozarks, where he must launder money to appease a drug boss.",money-laundering,cartel,family-drama,crime
+netflix-008,Black Mirror,Netflix,Sci-Fi,Drama,Anthology,2011,,Ongoing,7,33,Charlie Brooker,,,Various,,,,UK,English,TV-MA,8.7,"An anthology series exploring a twisted, high-tech multiverse where humanity's greatest innovations collide with its darkest instincts.",anthology,technology,dystopian,british
+netflix-009,The Witcher,Netflix,Fantasy,Action,Adventure,2019,,Ongoing,4,32,Lauren Schmidt Hissrich,,,Henry Cavill,Liam Hemsworth,Anya Chalotra,Freya Allan,USA,English,TV-MA,8.0,"Geralt of Rivia, a solitary monster hunter, struggles to find his place in a world where people often prove more wicked than beasts.",fantasy,monsters,magic,adaptation
+netflix-010,Bridgerton,Netflix,Romance,Drama,Historical,2020,,Ongoing,3,24,Chris Van Dusen,,,Phoebe Dynevor,Regé-Jean Page,Jonathan Bailey,Nicola Coughlan,USA,English,TV-MA,7.3,"Wealth, lust, and betrayal set against the backdrop of Regency-era England, seen through the eyes of the powerful Bridgerton family.",regency,romance,period-drama,shondaland
+netflix-011,Narcos,Netflix,Crime,Biography,Drama,2015,2017,Ended,3,30,Chris Brancato,Carlo Bernard,Doug Miro,Wagner Moura,Pedro Pascal,Boyd Holbrook,,USA,English,TV-MA,8.8,The true story of Colombia's infamously violent and powerful drug cartels.,cartel,colombia,true-crime,pablo-escobar
+netflix-012,Mindhunter,Netflix,Crime,Drama,Thriller,2017,2019,Ended,2,19,Joe Penhall,,,Jonathan Groff,Holt McCallany,Anna Torv,,USA,English,TV-MA,8.6,Two FBI agents interview imprisoned serial killers to apply behavioral science to their open cases.,fbi,serial-killers,psychology,fincher
+netflix-013,The Queen's Gambit,Netflix,Drama,Period,,2020,2020,Ended,1,7,Scott Frank,Allan Scott,,Anya Taylor-Joy,Bill Camp,Marielle Heller,,USA,English,TV-MA,8.5,An orphaned chess prodigy rises to the top of the chess world while struggling with addiction.,chess,limited-series,cold-war,addiction
+netflix-014,BoJack Horseman,Netflix,Animation,Comedy,Drama,2014,2020,Ended,6,77,Raphael Bob-Waksberg,,,Will Arnett,Aaron Paul,Amy Sedaris,Alison Brie,USA,English,TV-MA,8.8,"A washed-up actor who happens to be a horse navigates Hollywood life, depression, and existentialism.",animation,adult-animation,satire,mental-health
+netflix-015,Peaky Blinders,Netflix,Crime,Drama,Historical,2013,2022,Ended,6,36,Steven Knight,,,Cillian Murphy,Paul Anderson,Helen McCrory,Tom Hardy,UK,English,TV-MA,8.8,"A gangster family epic set in 1900s England, centering on a gang led by the fierce Tommy Shelby.",british,gangster,period-drama,birmingham
+netflix-016,Lupin,Netflix,Crime,Mystery,Drama,2021,,Ongoing,3,17,George Kay,François Uzan,,Omar Sy,Ludivine Sagnier,Clotilde Hesme,,France,French,TV-MA,7.5,"Inspired by Arsène Lupin, gentleman thief Assane Diop sets out to avenge his father for an injustice inflicted by a wealthy family.",french,heist,revenge,paris
+netflix-017,The Umbrella Academy,Netflix,Sci-Fi,Action,Drama,2019,2024,Ended,4,34,Steve Blackman,,,Elliot Page,Tom Hopper,David Castañeda,Emmy Raver-Lampman,USA,English,TV-14,7.9,A dysfunctional family of adopted sibling superheroes reunites to solve the mystery of their father's death and the threat of an apocalypse.,superheroes,time-travel,comic-adaptation,family
+netflix-018,Sex Education,Netflix,Comedy,Drama,Romance,2019,2023,Ended,4,32,Laurie Nunn,,,Asa Butterfield,Gillian Anderson,Emma Mackey,Ncuti Gatwa,UK,English,TV-MA,8.3,A teenage boy with a sex therapist mother teams up with a high school classmate to set up an underground sex therapy clinic at school.,teen,british,coming-of-age,lgbtq
+netflix-019,House of Cards,Netflix,Drama,Political,Thriller,2013,2018,Ended,6,73,Beau Willimon,,,Kevin Spacey,Robin Wright,Michael Kelly,,USA,English,TV-MA,8.7,"A ruthless politician will stop at nothing to conquer Washington, D.C.",politics,washington,dc,machiavellian
+netflix-020,Beef,Netflix,Comedy,Drama,Thriller,2023,2023,Ended,1,10,Lee Sung Jin,,,Steven Yeun,Ali Wong,Joseph Lee,Young Mazino,USA,English,TV-MA,8.0,A road rage incident between two strangers triggers a feud that brings out their darkest impulses.,limited-series,dark-comedy,a24,asian-american
+prime-001,The Boys,Amazon Prime Video,Action,Sci-Fi,Drama,2019,,Ongoing,4,32,Eric Kripke,,,Karl Urban,Jack Quaid,Antony Starr,Erin Moriarty,USA,English,TV-MA,8.7,A group of vigilantes set out to take down corrupt superheroes who abuse their powers.,superheroes,satire,violent,comic-adaptation
+prime-002,The Marvelous Mrs. Maisel,Amazon Prime Video,Comedy,Drama,Period,2017,2023,Ended,5,43,Amy Sherman-Palladino,,,Rachel Brosnahan,Alex Borstein,Michael Zegen,Tony Shalhoub,USA,English,TV-MA,8.7,A 1950s New York housewife discovers she has a talent for stand-up comedy.,50s,stand-up,feminist,new-york
+prime-003,Fleabag,Amazon Prime Video,Comedy,Drama,,2016,2019,Ended,2,12,Phoebe Waller-Bridge,,,Phoebe Waller-Bridge,Sian Clifford,Olivia Colman,Andrew Scott,UK,English,TV-MA,8.7,A dry-witted woman navigates life and love in London while trying to cope with tragedy.,british,dark-comedy,fourth-wall,limited-series
+prime-004,The Expanse,Amazon Prime Video,Sci-Fi,Drama,Mystery,2015,2022,Ended,6,62,Mark Fergus,Hawk Ostby,,Steven Strait,Dominique Tipper,Wes Chatham,Shohreh Aghdashloo,USA,English,TV-14,8.5,"In a colonized future solar system, a detective, a ship's officer, and a UN executive uncover a conspiracy.",space,hard-sci-fi,politics,adaptation
+prime-005,The Lord of the Rings: The Rings of Power,Amazon Prime Video,Fantasy,Adventure,Drama,2022,,Ongoing,2,16,J.D. Payne,Patrick McKay,,Morfydd Clark,Robert Aramayo,Charlie Vickers,Markella Kavenagh,USA,English,TV-14,6.9,"Epic drama set thousands of years before the events of The Hobbit and The Lord of the Rings, follows an ensemble cast in the Second Age of Middle-earth.",tolkien,middle-earth,epic,high-budget
+prime-006,Reacher,Amazon Prime Video,Action,Crime,Drama,2022,,Ongoing,3,24,Nick Santora,,,Alan Ritchson,Malcolm Goodwin,Willa Fitzgerald,,USA,English,TV-MA,8.1,Veteran military police investigator Jack Reacher solves crimes as a drifter.,action,thriller,lee-child,adaptation
+prime-007,Jack Ryan,Amazon Prime Video,Action,Thriller,Drama,2018,2023,Ended,4,32,Carlton Cuse,Graham Roland,,John Krasinski,Wendell Pierce,Abbie Cornish,,USA,English,TV-MA,8.0,An up-and-coming CIA analyst is thrust into a dangerous field assignment.,cia,spy,tom-clancy,adaptation
+prime-008,Fallout,Amazon Prime Video,Sci-Fi,Action,Adventure,2024,,Ongoing,1,8,Graham Wagner,Geneva Robertson-Dworet,,Ella Purnell,Walton Goggins,Aaron Moten,Kyle MacLachlan,USA,English,TV-MA,8.4,"In a future, post-apocalyptic Los Angeles brought about by nuclear decimation, citizens must live in underground bunkers to protect themselves.",post-apocalyptic,video-game-adaptation,wasteland,vaults
+prime-009,Mr. & Mrs. Smith,Amazon Prime Video,Action,Comedy,Romance,2024,,Ongoing,1,8,Donald Glover,Francesca Sloane,,Donald Glover,Maya Erskine,,,USA,English,TV-MA,7.2,"Two lonely strangers take a job working for a mysterious spy agency that offers them a glamorous life, a dream brownstone in Manhattan, and a new identity as a married couple.",spy,romance,remake,donald-glover
+prime-010,The Wheel of Time,Amazon Prime Video,Fantasy,Adventure,Action,2021,,Ongoing,3,24,Rafe Judkins,,,Rosamund Pike,Daniel Henney,Josha Stradowski,Madeleine Madden,USA,English,TV-14,7.0,"Set in a high fantasy world where magic exists, but only some can access it, a woman named Moiraine leads five young people on a journey.",fantasy,magic,robert-jordan,epic
+prime-011,Good Omens,Amazon Prime Video,Comedy,Fantasy,Drama,2019,,Ongoing,2,12,Neil Gaiman,,,David Tennant,Michael Sheen,Jon Hamm,Frances McDormand,UK,English,TV-MA,8.0,"A demon and an angel attempt to prevent the apocalypse on Earth, which they have grown rather fond of over the millennia.",british,supernatural,gaiman,pratchett
+prime-012,The Terminal List,Amazon Prime Video,Action,Drama,Thriller,2022,,Ongoing,1,8,David DiGilio,,,Chris Pratt,Constance Wu,Taylor Kitsch,,USA,English,TV-MA,8.0,A former Navy SEAL officer investigates why his entire platoon was ambushed during a high-stakes covert mission.,navy-seal,revenge,military,thriller
+prime-013,Upload,Amazon Prime Video,Sci-Fi,Comedy,Mystery,2020,,Ongoing,3,24,Greg Daniels,,,Robbie Amell,Andy Allo,Allegra Edwards,,USA,English,TV-MA,7.9,A man is able to choose his own afterlife after his untimely death by having his consciousness uploaded into a virtual world.,afterlife,technology,sci-fi-comedy,near-future
+prime-014,Bosch,Amazon Prime Video,Crime,Drama,Mystery,2014,2021,Ended,7,68,Eric Overmyer,,,Titus Welliver,Jamie Hector,Amy Aquino,,USA,English,TV-MA,8.5,An LAPD homicide detective works to solve the murder of a 13-year-old boy.,detective,los-angeles,procedural,michael-connelly
+prime-015,Invincible,Amazon Prime Video,Animation,Action,Drama,2021,,Ongoing,3,24,Robert Kirkman,,,Steven Yeun,J.K. Simmons,Sandra Oh,Zazie Beetz,USA,English,TV-MA,8.7,An adult animated series about a teenager whose father is the most powerful superhero on the planet.,adult-animation,superheroes,violent,comic-adaptation
+prime-016,Vikings,Amazon Prime Video,Drama,Action,Historical,2013,2020,Ended,6,89,Michael Hirst,,,Travis Fimmel,Katheryn Winnick,Clive Standen,Gustaf Skarsgård,Ireland,English,TV-MA,8.5,"The world of the Vikings is brought to life through the journey of Ragnar Lothbrok, the first Viking to emerge from Norse legend.",vikings,historical,norse,ragnar
+prime-017,The Underground Railroad,Amazon Prime Video,Drama,Historical,,2021,2021,Ended,1,10,Barry Jenkins,,,Thuso Mbedu,Chase W. Dillon,Joel Edgerton,,USA,English,TV-MA,7.4,A young woman makes a harrowing escape from antebellum slavery via an underground railroad that travels in a literal underground train.,limited-series,slavery,barry-jenkins,literary-adaptation
+prime-018,Hunters,Amazon Prime Video,Drama,Thriller,Action,2020,2023,Ended,2,18,David Weil,,,Al Pacino,Logan Lerman,Jerrika Hinton,Lena Olin,USA,English,TV-MA,7.2,A diverse band of Nazi hunters living in 1977 New York City discover that hundreds of high-ranking Nazi officials are conspiring to create a Fourth Reich in the U.S.,nazi-hunters,70s,alternate-history,new-york
+prime-019,Carnival Row,Amazon Prime Video,Fantasy,Drama,Mystery,2019,2023,Ended,2,18,René Echevarria,Travis Beacham,,Orlando Bloom,Cara Delevingne,Simon McBurney,,USA,English,TV-MA,7.8,"Mythical creatures have fled their war-torn homeland and gathered in a city where humans live, leading to escalating tensions.",fantasy,victorian,mythical-creatures,noir
+prime-020,Citadel,Amazon Prime Video,Action,Drama,Thriller,2023,,Ongoing,1,6,Josh Appelbaum,Bryan Oh,David Weil,Richard Madden,Priyanka Chopra Jonas,Stanley Tucci,,USA,English,TV-MA,5.9,"Eight years after the fall of an independent global spy agency, two former agents must work together to stop a new threat.",spy,russo-brothers,global,amnesia
+hbo-001,Game of Thrones,HBO Max,Fantasy,Drama,Adventure,2011,2019,Ended,8,73,David Benioff,D.B. Weiss,,Emilia Clarke,Peter Dinklage,Kit Harington,Lena Headey,USA,English,TV-MA,9.2,"Nine noble families fight for control over the lands of Westeros, while an ancient enemy returns after being dormant for millennia.",fantasy,dragons,epic,george-rr-martin
+hbo-002,Succession,HBO Max,Drama,Comedy,,2018,2023,Ended,4,39,Jesse Armstrong,,,Brian Cox,Jeremy Strong,Kieran Culkin,Sarah Snook,USA,English,TV-MA,8.9,"The Roy family controls the biggest media and entertainment company in the world, but their patriarch's health is failing.",media,family-drama,satire,wealth
+hbo-003,The Last of Us,HBO Max,Drama,Horror,Sci-Fi,2023,,Ongoing,2,16,Craig Mazin,Neil Druckmann,,Pedro Pascal,Bella Ramsey,Anna Torv,,USA,English,TV-MA,8.7,"After a global pandemic destroys civilization, a hardened survivor takes charge of a 14-year-old girl who may be humanity's last hope.",post-apocalyptic,zombies,video-game-adaptation,fungal
+hbo-004,House of the Dragon,HBO Max,Fantasy,Drama,Action,2022,,Ongoing,2,18,Ryan Condal,George R.R. Martin,,Paddy Considine,Matt Smith,Emma D'Arcy,Olivia Cooke,USA,English,TV-MA,8.4,"An internal succession war within House Targaryen at the height of its power, 172 years before the birth of Daenerys Targaryen.",targaryen,dragons,got-prequel,civil-war
+hbo-005,True Detective,HBO Max,Crime,Drama,Mystery,2014,,Ongoing,4,32,Nic Pizzolatto,,,Matthew McConaughey,Woody Harrelson,Mahershala Ali,Jodie Foster,USA,English,TV-MA,8.9,"An anthology series of police investigations, with each season featuring a new cast and setting.",anthology,noir,detective,atmospheric
+hbo-006,Westworld,HBO Max,Sci-Fi,Drama,Mystery,2016,2022,Ended,4,36,Jonathan Nolan,Lisa Joy,,Evan Rachel Wood,Thandiwe Newton,Jeffrey Wright,Ed Harris,USA,English,TV-MA,8.5,Set in a Western-themed park where guests live out their fantasies through robotic hosts that develop consciousness.,ai,consciousness,theme-park,androids
+hbo-007,The White Lotus,HBO Max,Comedy,Drama,Mystery,2021,,Ongoing,3,18,Mike White,,,Murray Bartlett,Jennifer Coolidge,Aubrey Plaza,Theo James,USA,English,TV-MA,7.9,The exploits of various employees and guests at an exclusive tropical resort.,anthology,satire,wealth,vacation
+disney-001,The Mandalorian,Disney+,Sci-Fi,Action,Adventure,2019,,Ongoing,3,24,Jon Favreau,,,Pedro Pascal,Carl Weathers,Giancarlo Esposito,,USA,English,TV-14,8.6,"The travels of a lone bounty hunter in the outer reaches of the galaxy, far from the authority of the New Republic.",star-wars,space-western,grogu,baby-yoda
+disney-002,WandaVision,Disney+,Sci-Fi,Drama,Mystery,2021,2021,Ended,1,9,Jac Schaeffer,,,Elizabeth Olsen,Paul Bettany,Kathryn Hahn,,USA,English,TV-14,7.9,"Wanda Maximoff and Vision live idealized suburban lives, but begin to suspect that everything is not as it seems.",marvel,mcu,sitcom,superhero
+disney-003,Andor,Disney+,Sci-Fi,Drama,Action,2022,2025,Ended,2,24,Tony Gilroy,,,Diego Luna,Genevieve O'Reilly,Stellan Skarsgård,,USA,English,TV-14,8.4,"Prequel to Rogue One, exploring a new perspective from the Star Wars galaxy and Cassian Andor's journey to becoming a rebel hero.",star-wars,rebellion,political,prequel
+disney-004,Loki,Disney+,Sci-Fi,Action,Adventure,2021,2023,Ended,2,12,Michael Waldron,,,Tom Hiddleston,Owen Wilson,Sophia Di Martino,,USA,English,TV-14,8.2,The mercurial villain Loki resumes his role as the God of Mischief in a new series that takes place after the events of Avengers: Endgame.,marvel,mcu,multiverse,time-travel
+appletv-001,Ted Lasso,Apple TV+,Comedy,Drama,Sport,2020,2023,Ended,3,34,Bill Lawrence,Jason Sudeikis,,Jason Sudeikis,Hannah Waddingham,Brett Goldstein,Juno Temple,USA,English,TV-MA,8.8,"American college football coach Ted Lasso heads to London to manage AFC Richmond, a struggling English Premier League soccer team.",soccer,football,feel-good,british
+appletv-002,Severance,Apple TV+,Sci-Fi,Thriller,Drama,2022,,Ongoing,2,19,Dan Erickson,,,Adam Scott,Britt Lower,Zach Cherry,John Turturro,USA,English,TV-MA,8.7,Employees at Lumon Industries undergo a procedure that surgically divides their memories between their work and personal lives.,workplace,dystopian,mystery,ben-stiller
+appletv-003,Foundation,Apple TV+,Sci-Fi,Drama,Adventure,2021,,Ongoing,3,28,David S. Goyer,Josh Friedman,,Jared Harris,Lee Pace,Lou Llobell,,USA,English,TV-14,7.5,A complex saga of humans scattered on planets throughout the galaxy living under the rule of the Galactic Empire.,space-opera,asimov,epic,empire
+appletv-004,Slow Horses,Apple TV+,Crime,Drama,Thriller,2022,,Ongoing,4,24,Will Smith,,,Gary Oldman,Jack Lowden,Kristin Scott Thomas,,UK,English,TV-MA,8.3,Follows a team of British intelligence agents who serve in a dumping ground department of MI5.,spy,british,mi5,mick-herron
+hulu-001,The Handmaid's Tale,Hulu,Drama,Sci-Fi,Dystopian,2017,2025,Ended,6,66,Bruce Miller,,,Elisabeth Moss,Joseph Fiennes,Yvonne Strahovski,Samira Wiley,USA,English,TV-MA,8.4,"Set in a dystopian future, a woman is forced to live as a concubine under a fundamentalist theocratic dictatorship.",dystopian,feminist,atwood,theocracy
+hulu-002,The Bear,Hulu,Comedy,Drama,,2022,,Ongoing,3,28,Christopher Storer,,,Jeremy Allen White,Ebon Moss-Bachrach,Ayo Edebiri,,USA,English,TV-MA,8.6,A young chef from the fine dining world returns to Chicago to run his family's sandwich shop after a heartbreaking death.,cooking,chicago,family,anxiety
+hulu-003,Only Murders in the Building,Hulu,Comedy,Crime,Mystery,2021,,Ongoing,4,40,Steve Martin,John Hoffman,,Steve Martin,Martin Short,Selena Gomez,,USA,English,TV-MA,8.1,Three strangers who share an obsession with true crime suddenly find themselves wrapped up in one.,whodunit,podcast,new-york,comedy-mystery
+peacock-001,Poker Face,Peacock,Crime,Comedy,Mystery,2023,,Ongoing,2,20,Rian Johnson,,,Natasha Lyonne,,,,USA,English,TV-MA,8.1,"A casino worker with the ability to determine when someone is lying hits the road, solving crimes along the way.",mystery-of-the-week,rian-johnson,columbo,road-trip
+paramount-001,Yellowstone,Paramount+,Drama,Western,,2018,2024,Ended,5,53,Taylor Sheridan,John Linson,,Kevin Costner,Luke Grimes,Kelly Reilly,Wes Bentley,USA,English,TV-MA,8.7,A ranching family in Montana faces off against others encroaching on their land.,western,ranch,family-drama,montana
+paramount-002,Star Trek: Strange New Worlds,Paramount+,Sci-Fi,Adventure,Drama,2022,,Ongoing,3,30,Akiva Goldsman,Alex Kurtzman,Jenny Lumet,Anson Mount,Rebecca Romijn,Ethan Peck,,USA,English,TV-14,8.1,Captain Christopher Pike helms the USS Enterprise as it explores new worlds in the years before Captain Kirk's iconic missions.,star-trek,space,enterprise,pike
diff --git a/src/test/resources/shows.xml b/src/test/resources/shows.xml
new file mode 100644
index 00000000..07fbc2ad
--- /dev/null
+++ b/src/test/resources/shows.xml
@@ -0,0 +1,1627 @@
+
+
+
+
+ netflix-001
+ Stranger Things
+ Netflix
+ Sci-Fi
+ Horror
+ Drama
+ 2016
+ 2025
+ Ended
+ 5
+ 42
+ Matt Duffer
+ Ross Duffer
+ Millie Bobby Brown
+ Finn Wolfhard
+ Winona Ryder
+ David Harbour
+ USA
+ English
+ TV-14
+ 8.7
+ A group of kids in 1980s Indiana uncover supernatural mysteries and government conspiracies tied to a parallel dimension.
+ 80s
+ supernatural
+ coming-of-age
+ monsters
+
+
+ netflix-002
+ The Crown
+ Netflix
+ Drama
+ Historical
+ Biography
+ 2016
+ 2023
+ Ended
+ 6
+ 60
+ Peter Morgan
+ Claire Foy
+ Olivia Colman
+ Imelda Staunton
+ Matt Smith
+ UK
+ English
+ TV-MA
+ 8.6
+ The reign of Queen Elizabeth II from her wedding in 1947 through the early 21st century.
+ royalty
+ british
+ period-drama
+ politics
+
+
+ netflix-003
+ Squid Game
+ Netflix
+ Thriller
+ Drama
+ Survival
+ 2021
+ 2025
+ Ended
+ 3
+ 22
+ Hwang Dong-hyuk
+ Lee Jung-jae
+ Park Hae-soo
+ Wi Ha-joon
+ HoYeon Jung
+ South Korea
+ Korean
+ TV-MA
+ 8.0
+ Hundreds of cash-strapped contestants accept an invitation to compete in deadly children's games for a tempting prize.
+ korean
+ survival
+ dystopian
+ social-commentary
+
+
+ netflix-004
+ Wednesday
+ Netflix
+ Comedy
+ Horror
+ Mystery
+ 2022
+ Ongoing
+ 2
+ 16
+ Alfred Gough
+ Miles Millar
+ Jenna Ortega
+ Catherine Zeta-Jones
+ Luis Guzmán
+ Gwendoline Christie
+ USA
+ English
+ TV-14
+ 8.1
+ Wednesday Addams navigates a supernatural boarding school while solving a murder mystery.
+ gothic
+ teen
+ supernatural
+ addams-family
+
+
+ netflix-005
+ Money Heist
+ Netflix
+ Crime
+ Thriller
+ Drama
+ 2017
+ 2021
+ Ended
+ 5
+ 41
+ Álex Pina
+ Úrsula Corberó
+ Álvaro Morte
+ Pedro Alonso
+ Itziar Ituño
+ Spain
+ Spanish
+ TV-MA
+ 8.2
+ An unusual group of robbers attempt to carry out the most perfect robbery in Spanish history.
+ spanish
+ heist
+ crime
+ ensemble
+
+
+ netflix-006
+ Dark
+ Netflix
+ Sci-Fi
+ Mystery
+ Thriller
+ 2017
+ 2020
+ Ended
+ 3
+ 26
+ Baran bo Odar
+ Jantje Friese
+ Louis Hofmann
+ Karoline Eichhorn
+ Lisa Vicari
+ Maja Schöne
+ Germany
+ German
+ TV-MA
+ 8.7
+ A family saga with a supernatural twist set in a German town where the disappearance of children exposes the relationships among four families.
+ time-travel
+ german
+ complex-plot
+ mystery
+
+
+ netflix-007
+ Ozark
+ Netflix
+ Crime
+ Drama
+ Thriller
+ 2017
+ 2022
+ Ended
+ 4
+ 44
+ Bill Dubuque
+ Mark Williams
+ Jason Bateman
+ Laura Linney
+ Julia Garner
+ Sofia Hublitz
+ USA
+ English
+ TV-MA
+ 8.5
+ A financial advisor drags his family from Chicago to the Missouri Ozarks, where he must launder money to appease a drug boss.
+ money-laundering
+ cartel
+ family-drama
+ crime
+
+
+ netflix-008
+ Black Mirror
+ Netflix
+ Sci-Fi
+ Drama
+ Anthology
+ 2011
+ Ongoing
+ 7
+ 33
+ Charlie Brooker
+ Various
+ UK
+ English
+ TV-MA
+ 8.7
+ An anthology series exploring a twisted, high-tech multiverse where humanity's greatest innovations collide with its darkest instincts.
+ anthology
+ technology
+ dystopian
+ british
+
+
+ netflix-009
+ The Witcher
+ Netflix
+ Fantasy
+ Action
+ Adventure
+ 2019
+ Ongoing
+ 4
+ 32
+ Lauren Schmidt Hissrich
+ Henry Cavill
+ Liam Hemsworth
+ Anya Chalotra
+ Freya Allan
+ USA
+ English
+ TV-MA
+ 8.0
+ Geralt of Rivia, a solitary monster hunter, struggles to find his place in a world where people often prove more wicked than beasts.
+ fantasy
+ monsters
+ magic
+ adaptation
+
+
+ netflix-010
+ Bridgerton
+ Netflix
+ Romance
+ Drama
+ Historical
+ 2020
+ Ongoing
+ 3
+ 24
+ Chris Van Dusen
+ Phoebe Dynevor
+ Regé-Jean Page
+ Jonathan Bailey
+ Nicola Coughlan
+ USA
+ English
+ TV-MA
+ 7.3
+ Wealth, lust, and betrayal set against the backdrop of Regency-era England, seen through the eyes of the powerful Bridgerton family.
+ regency
+ romance
+ period-drama
+ shondaland
+
+
+ netflix-011
+ Narcos
+ Netflix
+ Crime
+ Biography
+ Drama
+ 2015
+ 2017
+ Ended
+ 3
+ 30
+ Chris Brancato
+ Carlo Bernard
+ Doug Miro
+ Wagner Moura
+ Pedro Pascal
+ Boyd Holbrook
+ USA
+ English
+ TV-MA
+ 8.8
+ The true story of Colombia's infamously violent and powerful drug cartels.
+ cartel
+ colombia
+ true-crime
+ pablo-escobar
+
+
+ netflix-012
+ Mindhunter
+ Netflix
+ Crime
+ Drama
+ Thriller
+ 2017
+ 2019
+ Ended
+ 2
+ 19
+ Joe Penhall
+ Jonathan Groff
+ Holt McCallany
+ Anna Torv
+ USA
+ English
+ TV-MA
+ 8.6
+ Two FBI agents interview imprisoned serial killers to apply behavioral science to their open cases.
+ fbi
+ serial-killers
+ psychology
+ fincher
+
+
+ netflix-013
+ The Queen's Gambit
+ Netflix
+ Drama
+ Period
+ 2020
+ 2020
+ Ended
+ 1
+ 7
+ Scott Frank
+ Allan Scott
+ Anya Taylor-Joy
+ Bill Camp
+ Marielle Heller
+ USA
+ English
+ TV-MA
+ 8.5
+ An orphaned chess prodigy rises to the top of the chess world while struggling with addiction.
+ chess
+ limited-series
+ cold-war
+ addiction
+
+
+ netflix-014
+ BoJack Horseman
+ Netflix
+ Animation
+ Comedy
+ Drama
+ 2014
+ 2020
+ Ended
+ 6
+ 77
+ Raphael Bob-Waksberg
+ Will Arnett
+ Aaron Paul
+ Amy Sedaris
+ Alison Brie
+ USA
+ English
+ TV-MA
+ 8.8
+ A washed-up actor who happens to be a horse navigates Hollywood life, depression, and existentialism.
+ animation
+ adult-animation
+ satire
+ mental-health
+
+
+ netflix-015
+ Peaky Blinders
+ Netflix
+ Crime
+ Drama
+ Historical
+ 2013
+ 2022
+ Ended
+ 6
+ 36
+ Steven Knight
+ Cillian Murphy
+ Paul Anderson
+ Helen McCrory
+ Tom Hardy
+ UK
+ English
+ TV-MA
+ 8.8
+ A gangster family epic set in 1900s England, centering on a gang led by the fierce Tommy Shelby.
+ british
+ gangster
+ period-drama
+ birmingham
+
+
+ netflix-016
+ Lupin
+ Netflix
+ Crime
+ Mystery
+ Drama
+ 2021
+ Ongoing
+ 3
+ 17
+ George Kay
+ François Uzan
+ Omar Sy
+ Ludivine Sagnier
+ Clotilde Hesme
+ France
+ French
+ TV-MA
+ 7.5
+ Inspired by Arsène Lupin, gentleman thief Assane Diop sets out to avenge his father for an injustice inflicted by a wealthy family.
+ french
+ heist
+ revenge
+ paris
+
+
+ netflix-017
+ The Umbrella Academy
+ Netflix
+ Sci-Fi
+ Action
+ Drama
+ 2019
+ 2024
+ Ended
+ 4
+ 34
+ Steve Blackman
+ Elliot Page
+ Tom Hopper
+ David Castañeda
+ Emmy Raver-Lampman
+ USA
+ English
+ TV-14
+ 7.9
+ A dysfunctional family of adopted sibling superheroes reunites to solve the mystery of their father's death and the threat of an apocalypse.
+ superheroes
+ time-travel
+ comic-adaptation
+ family
+
+
+ netflix-018
+ Sex Education
+ Netflix
+ Comedy
+ Drama
+ Romance
+ 2019
+ 2023
+ Ended
+ 4
+ 32
+ Laurie Nunn
+ Asa Butterfield
+ Gillian Anderson
+ Emma Mackey
+ Ncuti Gatwa
+ UK
+ English
+ TV-MA
+ 8.3
+ A teenage boy with a sex therapist mother teams up with a high school classmate to set up an underground sex therapy clinic at school.
+ teen
+ british
+ coming-of-age
+ lgbtq
+
+
+ netflix-019
+ House of Cards
+ Netflix
+ Drama
+ Political
+ Thriller
+ 2013
+ 2018
+ Ended
+ 6
+ 73
+ Beau Willimon
+ Kevin Spacey
+ Robin Wright
+ Michael Kelly
+ USA
+ English
+ TV-MA
+ 8.7
+ A ruthless politician will stop at nothing to conquer Washington, D.C.
+ politics
+ washington
+ dc
+ machiavellian
+
+
+ netflix-020
+ Beef
+ Netflix
+ Comedy
+ Drama
+ Thriller
+ 2023
+ 2023
+ Ended
+ 1
+ 10
+ Lee Sung Jin
+ Steven Yeun
+ Ali Wong
+ Joseph Lee
+ Young Mazino
+ USA
+ English
+ TV-MA
+ 8.0
+ A road rage incident between two strangers triggers a feud that brings out their darkest impulses.
+ limited-series
+ dark-comedy
+ a24
+ asian-american
+
+
+ prime-001
+ The Boys
+ Amazon Prime Video
+ Action
+ Sci-Fi
+ Drama
+ 2019
+ Ongoing
+ 4
+ 32
+ Eric Kripke
+ Karl Urban
+ Jack Quaid
+ Antony Starr
+ Erin Moriarty
+ USA
+ English
+ TV-MA
+ 8.7
+ A group of vigilantes set out to take down corrupt superheroes who abuse their powers.
+ superheroes
+ satire
+ violent
+ comic-adaptation
+
+
+ prime-002
+ The Marvelous Mrs. Maisel
+ Amazon Prime Video
+ Comedy
+ Drama
+ Period
+ 2017
+ 2023
+ Ended
+ 5
+ 43
+ Amy Sherman-Palladino
+ Rachel Brosnahan
+ Alex Borstein
+ Michael Zegen
+ Tony Shalhoub
+ USA
+ English
+ TV-MA
+ 8.7
+ A 1950s New York housewife discovers she has a talent for stand-up comedy.
+ 50s
+ stand-up
+ feminist
+ new-york
+
+
+ prime-003
+ Fleabag
+ Amazon Prime Video
+ Comedy
+ Drama
+ 2016
+ 2019
+ Ended
+ 2
+ 12
+ Phoebe Waller-Bridge
+ Phoebe Waller-Bridge
+ Sian Clifford
+ Olivia Colman
+ Andrew Scott
+ UK
+ English
+ TV-MA
+ 8.7
+ A dry-witted woman navigates life and love in London while trying to cope with tragedy.
+ british
+ dark-comedy
+ fourth-wall
+ limited-series
+
+
+ prime-004
+ The Expanse
+ Amazon Prime Video
+ Sci-Fi
+ Drama
+ Mystery
+ 2015
+ 2022
+ Ended
+ 6
+ 62
+ Mark Fergus
+ Hawk Ostby
+ Steven Strait
+ Dominique Tipper
+ Wes Chatham
+ Shohreh Aghdashloo
+ USA
+ English
+ TV-14
+ 8.5
+ In a colonized future solar system, a detective, a ship's officer, and a UN executive uncover a conspiracy.
+ space
+ hard-sci-fi
+ politics
+ adaptation
+
+
+ prime-005
+ The Lord of the Rings: The Rings of Power
+ Amazon Prime Video
+ Fantasy
+ Adventure
+ Drama
+ 2022
+ Ongoing
+ 2
+ 16
+ J.D. Payne
+ Patrick McKay
+ Morfydd Clark
+ Robert Aramayo
+ Charlie Vickers
+ Markella Kavenagh
+ USA
+ English
+ TV-14
+ 6.9
+ Epic drama set thousands of years before the events of The Hobbit and The Lord of the Rings, follows an ensemble cast in the Second Age of Middle-earth.
+ tolkien
+ middle-earth
+ epic
+ high-budget
+
+
+ prime-006
+ Reacher
+ Amazon Prime Video
+ Action
+ Crime
+ Drama
+ 2022
+ Ongoing
+ 3
+ 24
+ Nick Santora
+ Alan Ritchson
+ Malcolm Goodwin
+ Willa Fitzgerald
+ USA
+ English
+ TV-MA
+ 8.1
+ Veteran military police investigator Jack Reacher solves crimes as a drifter.
+ action
+ thriller
+ lee-child
+ adaptation
+
+
+ prime-007
+ Jack Ryan
+ Amazon Prime Video
+ Action
+ Thriller
+ Drama
+ 2018
+ 2023
+ Ended
+ 4
+ 32
+ Carlton Cuse
+ Graham Roland
+ John Krasinski
+ Wendell Pierce
+ Abbie Cornish
+ USA
+ English
+ TV-MA
+ 8.0
+ An up-and-coming CIA analyst is thrust into a dangerous field assignment.
+ cia
+ spy
+ tom-clancy
+ adaptation
+
+
+ prime-008
+ Fallout
+ Amazon Prime Video
+ Sci-Fi
+ Action
+ Adventure
+ 2024
+ Ongoing
+ 1
+ 8
+ Graham Wagner
+ Geneva Robertson-Dworet
+ Ella Purnell
+ Walton Goggins
+ Aaron Moten
+ Kyle MacLachlan
+ USA
+ English
+ TV-MA
+ 8.4
+ In a future, post-apocalyptic Los Angeles brought about by nuclear decimation, citizens must live in underground bunkers to protect themselves.
+ post-apocalyptic
+ video-game-adaptation
+ wasteland
+ vaults
+
+
+ prime-009
+ Mr. & Mrs. Smith
+ Amazon Prime Video
+ Action
+ Comedy
+ Romance
+ 2024
+ Ongoing
+ 1
+ 8
+ Donald Glover
+ Francesca Sloane
+ Donald Glover
+ Maya Erskine
+ USA
+ English
+ TV-MA
+ 7.2
+ Two lonely strangers take a job working for a mysterious spy agency that offers them a glamorous life, a dream brownstone in Manhattan, and a new identity as a married couple.
+ spy
+ romance
+ remake
+ donald-glover
+
+
+ prime-010
+ The Wheel of Time
+ Amazon Prime Video
+ Fantasy
+ Adventure
+ Action
+ 2021
+ Ongoing
+ 3
+ 24
+ Rafe Judkins
+ Rosamund Pike
+ Daniel Henney
+ Josha Stradowski
+ Madeleine Madden
+ USA
+ English
+ TV-14
+ 7.0
+ Set in a high fantasy world where magic exists, but only some can access it, a woman named Moiraine leads five young people on a journey.
+ fantasy
+ magic
+ robert-jordan
+ epic
+
+
+ prime-011
+ Good Omens
+ Amazon Prime Video
+ Comedy
+ Fantasy
+ Drama
+ 2019
+ Ongoing
+ 2
+ 12
+ Neil Gaiman
+ David Tennant
+ Michael Sheen
+ Jon Hamm
+ Frances McDormand
+ UK
+ English
+ TV-MA
+ 8.0
+ A demon and an angel attempt to prevent the apocalypse on Earth, which they have grown rather fond of over the millennia.
+ british
+ supernatural
+ gaiman
+ pratchett
+
+
+ prime-012
+ The Terminal List
+ Amazon Prime Video
+ Action
+ Drama
+ Thriller
+ 2022
+ Ongoing
+ 1
+ 8
+ David DiGilio
+ Chris Pratt
+ Constance Wu
+ Taylor Kitsch
+ USA
+ English
+ TV-MA
+ 8.0
+ A former Navy SEAL officer investigates why his entire platoon was ambushed during a high-stakes covert mission.
+ navy-seal
+ revenge
+ military
+ thriller
+
+
+ prime-013
+ Upload
+ Amazon Prime Video
+ Sci-Fi
+ Comedy
+ Mystery
+ 2020
+ Ongoing
+ 3
+ 24
+ Greg Daniels
+ Robbie Amell
+ Andy Allo
+ Allegra Edwards
+ USA
+ English
+ TV-MA
+ 7.9
+ A man is able to choose his own afterlife after his untimely death by having his consciousness uploaded into a virtual world.
+ afterlife
+ technology
+ sci-fi-comedy
+ near-future
+
+
+ prime-014
+ Bosch
+ Amazon Prime Video
+ Crime
+ Drama
+ Mystery
+ 2014
+ 2021
+ Ended
+ 7
+ 68
+ Eric Overmyer
+ Titus Welliver
+ Jamie Hector
+ Amy Aquino
+ USA
+ English
+ TV-MA
+ 8.5
+ An LAPD homicide detective works to solve the murder of a 13-year-old boy.
+ detective
+ los-angeles
+ procedural
+ michael-connelly
+
+
+ prime-015
+ Invincible
+ Amazon Prime Video
+ Animation
+ Action
+ Drama
+ 2021
+ Ongoing
+ 3
+ 24
+ Robert Kirkman
+ Steven Yeun
+ J.K. Simmons
+ Sandra Oh
+ Zazie Beetz
+ USA
+ English
+ TV-MA
+ 8.7
+ An adult animated series about a teenager whose father is the most powerful superhero on the planet.
+ adult-animation
+ superheroes
+ violent
+ comic-adaptation
+
+
+ prime-016
+ Vikings
+ Amazon Prime Video
+ Drama
+ Action
+ Historical
+ 2013
+ 2020
+ Ended
+ 6
+ 89
+ Michael Hirst
+ Travis Fimmel
+ Katheryn Winnick
+ Clive Standen
+ Gustaf Skarsgård
+ Ireland
+ English
+ TV-MA
+ 8.5
+ The world of the Vikings is brought to life through the journey of Ragnar Lothbrok, the first Viking to emerge from Norse legend.
+ vikings
+ historical
+ norse
+ ragnar
+
+
+ prime-017
+ The Underground Railroad
+ Amazon Prime Video
+ Drama
+ Historical
+ 2021
+ 2021
+ Ended
+ 1
+ 10
+ Barry Jenkins
+ Thuso Mbedu
+ Chase W. Dillon
+ Joel Edgerton
+ USA
+ English
+ TV-MA
+ 7.4
+ A young woman makes a harrowing escape from antebellum slavery via an underground railroad that travels in a literal underground train.
+ limited-series
+ slavery
+ barry-jenkins
+ literary-adaptation
+
+
+ prime-018
+ Hunters
+ Amazon Prime Video
+ Drama
+ Thriller
+ Action
+ 2020
+ 2023
+ Ended
+ 2
+ 18
+ David Weil
+ Al Pacino
+ Logan Lerman
+ Jerrika Hinton
+ Lena Olin
+ USA
+ English
+ TV-MA
+ 7.2
+ A diverse band of Nazi hunters living in 1977 New York City discover that hundreds of high-ranking Nazi officials are conspiring to create a Fourth Reich in the U.S.
+ nazi-hunters
+ 70s
+ alternate-history
+ new-york
+
+
+ prime-019
+ Carnival Row
+ Amazon Prime Video
+ Fantasy
+ Drama
+ Mystery
+ 2019
+ 2023
+ Ended
+ 2
+ 18
+ René Echevarria
+ Travis Beacham
+ Orlando Bloom
+ Cara Delevingne
+ Simon McBurney
+ USA
+ English
+ TV-MA
+ 7.8
+ Mythical creatures have fled their war-torn homeland and gathered in a city where humans live, leading to escalating tensions.
+ fantasy
+ victorian
+ mythical-creatures
+ noir
+
+
+ prime-020
+ Citadel
+ Amazon Prime Video
+ Action
+ Drama
+ Thriller
+ 2023
+ Ongoing
+ 1
+ 6
+ Josh Appelbaum
+ Bryan Oh
+ David Weil
+ Richard Madden
+ Priyanka Chopra Jonas
+ Stanley Tucci
+ USA
+ English
+ TV-MA
+ 5.9
+ Eight years after the fall of an independent global spy agency, two former agents must work together to stop a new threat.
+ spy
+ russo-brothers
+ global
+ amnesia
+
+
+ hbo-001
+ Game of Thrones
+ HBO Max
+ Fantasy
+ Drama
+ Adventure
+ 2011
+ 2019
+ Ended
+ 8
+ 73
+ David Benioff
+ D.B. Weiss
+ Emilia Clarke
+ Peter Dinklage
+ Kit Harington
+ Lena Headey
+ USA
+ English
+ TV-MA
+ 9.2
+ Nine noble families fight for control over the lands of Westeros, while an ancient enemy returns after being dormant for millennia.
+ fantasy
+ dragons
+ epic
+ george-rr-martin
+
+
+ hbo-002
+ Succession
+ HBO Max
+ Drama
+ Comedy
+ 2018
+ 2023
+ Ended
+ 4
+ 39
+ Jesse Armstrong
+ Brian Cox
+ Jeremy Strong
+ Kieran Culkin
+ Sarah Snook
+ USA
+ English
+ TV-MA
+ 8.9
+ The Roy family controls the biggest media and entertainment company in the world, but their patriarch's health is failing.
+ media
+ family-drama
+ satire
+ wealth
+
+
+ hbo-003
+ The Last of Us
+ HBO Max
+ Drama
+ Horror
+ Sci-Fi
+ 2023
+ Ongoing
+ 2
+ 16
+ Craig Mazin
+ Neil Druckmann
+ Pedro Pascal
+ Bella Ramsey
+ Anna Torv
+ USA
+ English
+ TV-MA
+ 8.7
+ After a global pandemic destroys civilization, a hardened survivor takes charge of a 14-year-old girl who may be humanity's last hope.
+ post-apocalyptic
+ zombies
+ video-game-adaptation
+ fungal
+
+
+ hbo-004
+ House of the Dragon
+ HBO Max
+ Fantasy
+ Drama
+ Action
+ 2022
+ Ongoing
+ 2
+ 18
+ Ryan Condal
+ George R.R. Martin
+ Paddy Considine
+ Matt Smith
+ Emma D'Arcy
+ Olivia Cooke
+ USA
+ English
+ TV-MA
+ 8.4
+ An internal succession war within House Targaryen at the height of its power, 172 years before the birth of Daenerys Targaryen.
+ targaryen
+ dragons
+ got-prequel
+ civil-war
+
+
+ hbo-005
+ True Detective
+ HBO Max
+ Crime
+ Drama
+ Mystery
+ 2014
+ Ongoing
+ 4
+ 32
+ Nic Pizzolatto
+ Matthew McConaughey
+ Woody Harrelson
+ Mahershala Ali
+ Jodie Foster
+ USA
+ English
+ TV-MA
+ 8.9
+ An anthology series of police investigations, with each season featuring a new cast and setting.
+ anthology
+ noir
+ detective
+ atmospheric
+
+
+ hbo-006
+ Westworld
+ HBO Max
+ Sci-Fi
+ Drama
+ Mystery
+ 2016
+ 2022
+ Ended
+ 4
+ 36
+ Jonathan Nolan
+ Lisa Joy
+ Evan Rachel Wood
+ Thandiwe Newton
+ Jeffrey Wright
+ Ed Harris
+ USA
+ English
+ TV-MA
+ 8.5
+ Set in a Western-themed park where guests live out their fantasies through robotic hosts that develop consciousness.
+ ai
+ consciousness
+ theme-park
+ androids
+
+
+ hbo-007
+ The White Lotus
+ HBO Max
+ Comedy
+ Drama
+ Mystery
+ 2021
+ Ongoing
+ 3
+ 18
+ Mike White
+ Murray Bartlett
+ Jennifer Coolidge
+ Aubrey Plaza
+ Theo James
+ USA
+ English
+ TV-MA
+ 7.9
+ The exploits of various employees and guests at an exclusive tropical resort.
+ anthology
+ satire
+ wealth
+ vacation
+
+
+ disney-001
+ The Mandalorian
+ Disney+
+ Sci-Fi
+ Action
+ Adventure
+ 2019
+ Ongoing
+ 3
+ 24
+ Jon Favreau
+ Pedro Pascal
+ Carl Weathers
+ Giancarlo Esposito
+ USA
+ English
+ TV-14
+ 8.6
+ The travels of a lone bounty hunter in the outer reaches of the galaxy, far from the authority of the New Republic.
+ star-wars
+ space-western
+ grogu
+ baby-yoda
+
+
+ disney-002
+ WandaVision
+ Disney+
+ Sci-Fi
+ Drama
+ Mystery
+ 2021
+ 2021
+ Ended
+ 1
+ 9
+ Jac Schaeffer
+ Elizabeth Olsen
+ Paul Bettany
+ Kathryn Hahn
+ USA
+ English
+ TV-14
+ 7.9
+ Wanda Maximoff and Vision live idealized suburban lives, but begin to suspect that everything is not as it seems.
+ marvel
+ mcu
+ sitcom
+ superhero
+
+
+ disney-003
+ Andor
+ Disney+
+ Sci-Fi
+ Drama
+ Action
+ 2022
+ 2025
+ Ended
+ 2
+ 24
+ Tony Gilroy
+ Diego Luna
+ Genevieve O'Reilly
+ Stellan Skarsgård
+ USA
+ English
+ TV-14
+ 8.4
+ Prequel to Rogue One, exploring a new perspective from the Star Wars galaxy and Cassian Andor's journey to becoming a rebel hero.
+ star-wars
+ rebellion
+ political
+ prequel
+
+
+ disney-004
+ Loki
+ Disney+
+ Sci-Fi
+ Action
+ Adventure
+ 2021
+ 2023
+ Ended
+ 2
+ 12
+ Michael Waldron
+ Tom Hiddleston
+ Owen Wilson
+ Sophia Di Martino
+ USA
+ English
+ TV-14
+ 8.2
+ The mercurial villain Loki resumes his role as the God of Mischief in a new series that takes place after the events of Avengers: Endgame.
+ marvel
+ mcu
+ multiverse
+ time-travel
+
+
+ appletv-001
+ Ted Lasso
+ Apple TV+
+ Comedy
+ Drama
+ Sport
+ 2020
+ 2023
+ Ended
+ 3
+ 34
+ Bill Lawrence
+ Jason Sudeikis
+ Jason Sudeikis
+ Hannah Waddingham
+ Brett Goldstein
+ Juno Temple
+ USA
+ English
+ TV-MA
+ 8.8
+ American college football coach Ted Lasso heads to London to manage AFC Richmond, a struggling English Premier League soccer team.
+ soccer
+ football
+ feel-good
+ british
+
+
+ appletv-002
+ Severance
+ Apple TV+
+ Sci-Fi
+ Thriller
+ Drama
+ 2022
+ Ongoing
+ 2
+ 19
+ Dan Erickson
+ Adam Scott
+ Britt Lower
+ Zach Cherry
+ John Turturro
+ USA
+ English
+ TV-MA
+ 8.7
+ Employees at Lumon Industries undergo a procedure that surgically divides their memories between their work and personal lives.
+ workplace
+ dystopian
+ mystery
+ ben-stiller
+
+
+ appletv-003
+ Foundation
+ Apple TV+
+ Sci-Fi
+ Drama
+ Adventure
+ 2021
+ Ongoing
+ 3
+ 28
+ David S. Goyer
+ Josh Friedman
+ Jared Harris
+ Lee Pace
+ Lou Llobell
+ USA
+ English
+ TV-14
+ 7.5
+ A complex saga of humans scattered on planets throughout the galaxy living under the rule of the Galactic Empire.
+ space-opera
+ asimov
+ epic
+ empire
+
+
+ appletv-004
+ Slow Horses
+ Apple TV+
+ Crime
+ Drama
+ Thriller
+ 2022
+ Ongoing
+ 4
+ 24
+ Will Smith
+ Gary Oldman
+ Jack Lowden
+ Kristin Scott Thomas
+ UK
+ English
+ TV-MA
+ 8.3
+ Follows a team of British intelligence agents who serve in a dumping ground department of MI5.
+ spy
+ british
+ mi5
+ mick-herron
+
+
+ hulu-001
+ The Handmaid's Tale
+ Hulu
+ Drama
+ Sci-Fi
+ Dystopian
+ 2017
+ 2025
+ Ended
+ 6
+ 66
+ Bruce Miller
+ Elisabeth Moss
+ Joseph Fiennes
+ Yvonne Strahovski
+ Samira Wiley
+ USA
+ English
+ TV-MA
+ 8.4
+ Set in a dystopian future, a woman is forced to live as a concubine under a fundamentalist theocratic dictatorship.
+ dystopian
+ feminist
+ atwood
+ theocracy
+
+
+ hulu-002
+ The Bear
+ Hulu
+ Comedy
+ Drama
+ 2022
+ Ongoing
+ 3
+ 28
+ Christopher Storer
+ Jeremy Allen White
+ Ebon Moss-Bachrach
+ Ayo Edebiri
+ USA
+ English
+ TV-MA
+ 8.6
+ A young chef from the fine dining world returns to Chicago to run his family's sandwich shop after a heartbreaking death.
+ cooking
+ chicago
+ family
+ anxiety
+
+
+ hulu-003
+ Only Murders in the Building
+ Hulu
+ Comedy
+ Crime
+ Mystery
+ 2021
+ Ongoing
+ 4
+ 40
+ Steve Martin
+ John Hoffman
+ Steve Martin
+ Martin Short
+ Selena Gomez
+ USA
+ English
+ TV-MA
+ 8.1
+ Three strangers who share an obsession with true crime suddenly find themselves wrapped up in one.
+ whodunit
+ podcast
+ new-york
+ comedy-mystery
+
+
+ peacock-001
+ Poker Face
+ Peacock
+ Crime
+ Comedy
+ Mystery
+ 2023
+ Ongoing
+ 2
+ 20
+ Rian Johnson
+ Natasha Lyonne
+ USA
+ English
+ TV-MA
+ 8.1
+ A casino worker with the ability to determine when someone is lying hits the road, solving crimes along the way.
+ mystery-of-the-week
+ rian-johnson
+ columbo
+ road-trip
+
+
+ paramount-001
+ Yellowstone
+ Paramount+
+ Drama
+ Western
+ 2018
+ 2024
+ Ended
+ 5
+ 53
+ Taylor Sheridan
+ John Linson
+ Kevin Costner
+ Luke Grimes
+ Kelly Reilly
+ Wes Bentley
+ USA
+ English
+ TV-MA
+ 8.7
+ A ranching family in Montana faces off against others encroaching on their land.
+ western
+ ranch
+ family-drama
+ montana
+
+
+ paramount-002
+ Star Trek: Strange New Worlds
+ Paramount+
+ Sci-Fi
+ Adventure
+ Drama
+ 2022
+ Ongoing
+ 3
+ 30
+ Akiva Goldsman
+ Alex Kurtzman
+ Jenny Lumet
+ Anson Mount
+ Rebecca Romijn
+ Ethan Peck
+ USA
+ English
+ TV-14
+ 8.1
+ Captain Christopher Pike helms the USS Enterprise as it explores new worlds in the years before Captain Kirk's iconic missions.
+ star-trek
+ space
+ enterprise
+ pike
+
+