diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 46bc23a..3c7483d 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/modules.doctree b/.doctrees/modules.doctree index 3694722..f9075e6 100644 Binary files a/.doctrees/modules.doctree and b/.doctrees/modules.doctree differ diff --git a/_modules/marqo_instantapi/marqo_instantapi_adapter.html b/_modules/marqo_instantapi/marqo_instantapi_adapter.html index 34b1e57..31172d4 100644 --- a/_modules/marqo_instantapi/marqo_instantapi_adapter.html +++ b/_modules/marqo_instantapi/marqo_instantapi_adapter.html @@ -73,9 +73,11 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

 import marqo
 import tldextract
-from marqo_instantapi.instant_api_client import InstantAPIClient
 from collections import deque
 import hashlib
+import concurrent.futures
+from marqo_instantapi.instant_api_client import InstantAPIClient
+
 from typing import Optional, Union, Literal, Any
 
 
@@ -375,6 +377,45 @@ 

Source code for marqo_instantapi.marqo_instantapi_adapter

return self.create_index(index_name, multimodal=True) + def _process_page( + self, + webpage_url: str, + api_method_name: str, + api_response_structure: dict, + enforce_schema: bool = True, + ) -> dict: + """Process a single page and extract data from it. + + Args: + webpage_url (str): The URL of the webpage to process. + api_method_name (str): The name of the API method to use for data extraction. + api_response_structure (dict): The expected structure of the API's response. + enforce_schema (bool, optional): Toggle strict enforcement of InstantAPI responses against the schema. Defaults to True. + + Returns: + dict: The processed page data. + """ + page_data = self._extract_page_data( + webpage_url=webpage_url, + api_method_name=api_method_name, + api_response_structure=api_response_structure, + ) + + if enforce_schema: + if not self._check_against_schema(api_response_structure, page_data): + return { + "failed_check": True, + "data": { + "url": webpage_url, + "response_data": page_data, + "response": "Schema check failed", + }, + } + + page_data["_id"] = hashlib.md5(webpage_url.encode()).hexdigest() + page_data["_source_webpage_url"] = webpage_url + return {"failed_check": False, "data": (webpage_url, page_data)} +
[docs] def add_documents( @@ -389,20 +430,22 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

total_image_weight: float = 0.9, total_text_weight: float = 0.1, enforce_schema: bool = True, + instantapi_threads: int = 10, ) -> list[dict]: """Add documents to a Marqo index from a list of webpage URLs, data is extracted using the InstantAPI Retrieve API. Args: webpage_urls (list[str]): A list of webpage URLs to index. - index_name (str): The name of the index to add documents to. If the index does not exist, it will be created based on the fields to index. - api_response_structure (dict): The expected structure of the API's response, this is passed to InstantAPI. - api_method_name (str): The name of the API method to use for data extraction, this is passed to InstantAPI and should be descriptive to help to AI know what information to get. + index_name (str): The name of the index to add documents to. + api_response_structure (dict): The expected structure of the API's response. + api_method_name (str): The name of the API method to use for data extraction. text_fields_to_index (list[str], optional): A list of text fields for indexing. Defaults to []. image_fields_to_index (list[str], optional): A list of image fields for indexing. Defaults to []. - client_batch_size (int, optional): The client batch size for Marqo, controls how many docs are sent at a time. Defaults to 8. - total_image_weight (float, optional): The total weight for images, applies when both image and text fields are provided. Defaults to 0.9. - total_text_weight (float, optional): The total weight for text, applies when both image and text fields are provided. Defaults to 0.1. + client_batch_size (int, optional): The client batch size for Marqo. Defaults to 8. + total_image_weight (float, optional): The total weight for images. Defaults to 0.9. + total_text_weight (float, optional): The total weight for text. Defaults to 0.1. enforce_schema (bool, optional): Toggle strict enforcement of InstantAPI responses against the schema. Defaults to True. + instantapi_threads (int, optional): The number of threads to use for InstantAPI requests. Defaults to 10. Raises: ValueError: If no fields are provided for indexing. @@ -410,7 +453,6 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

Returns: list[dict]: A list of responses for each document added. """ - if not text_fields_to_index and not image_fields_to_index: raise ValueError( "At least one field must be specified in text_fields_to_index and/or image_fields_to_index." @@ -433,33 +475,29 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

self._check_schema_for_marqo(api_response_structure) + # Parallel processing with ThreadPoolExecutor failed_schema_checks = [] urls_to_index = [] documents = [] - for webpage_url in webpage_urls: - page_data = self._extract_page_data( - webpage_url=webpage_url, - api_method_name=api_method_name, - api_response_structure=api_response_structure, - ) - - if enforce_schema: - if not self._check_against_schema(api_response_structure, page_data): - failed_schema_checks.append( - { - "url": webpage_url, - "response_data": page_data, - "response": "Schema check failed", - } - ) - continue - urls_to_index.append(webpage_url) - page_data["_id"] = hashlib.md5(webpage_url.encode()).hexdigest() - page_data["_source_webpage_url"] = webpage_url + with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor: + results = executor.map( + lambda url: self._process_page( + url, api_method_name, api_response_structure, enforce_schema + ), + webpage_urls, + ) - documents.append(page_data) + # Process the results and separate failed schema checks + for result in results: + if result["failed_check"]: + failed_schema_checks.append(result["data"]) + else: + webpage_url, page_data = result["data"] + urls_to_index.append(webpage_url) + documents.append(page_data) + # Prepare the mappings and tensor fields mappings, tensor_fields = self._make_mappings( text_fields_to_index, image_fields_to_index, @@ -467,6 +505,7 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

total_text_weight, ) + # Add the documents to Marqo responses = self.mq.index(index_name).add_documents( documents=documents, tensor_fields=tensor_fields, @@ -477,6 +516,7 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

if not isinstance(responses, list): responses = [responses] + # Collate all responses outcomes = failed_schema_checks for response in responses: for item in response["items"]: @@ -589,7 +629,7 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

limit: int = 10, offset: int = 0, searchable_attributes: Optional[list] = None, - method: Literal["tensor", "lexical", "hybrid"] = "hybrid", + search_method: Literal["tensor", "lexical", "hybrid"] = "hybrid", ) -> dict: """Search a Marqo index via a simplified interface. @@ -599,7 +639,7 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

limit (int, optional): The number of results to retrieve. Defaults to 10. offset (int, optional): The offset for the search results. Defaults to 0. searchable_attributes (Optional[list], optional): The attributes to search. Defaults to None. - method (Literal["tensor", "lexical", "hybrid"], optional): The search method to use, tensor uses only vectors, lexical uses only text, hybrid combines both with RRF. Defaults to "hybrid". + search_method (Literal["tensor", "lexical", "hybrid"], optional): The search method to use, tensor uses only vectors, lexical uses only text, hybrid combines both with RRF. Defaults to "hybrid". Raises: ValueError: If an invalid search method is provided. @@ -608,7 +648,7 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

dict: The search response from Marqo. """ - if method not in ("tensor", "lexical", "hybrid"): + if search_method not in ("tensor", "lexical", "hybrid"): raise ValueError( "Invalid search method, must be one of 'tensor', 'lexical', or 'hybrid'." ) @@ -617,13 +657,28 @@

Source code for marqo_instantapi.marqo_instantapi_adapter

if limit + offset > 2000: ef_search = limit + offset + if searchable_attributes is not None: + # TODO: Update when marqo reaches 2.12 + raise NotImplementedError( + "Search with unstructured indexes does not support searchable attributes yet. This will be implemented in Marqo 2.12." + ) + + hybrid_parameters = None + if search_method == "hybrid" and searchable_attributes is not None: + hybrid_parameters = { + "searchableAttributesLexical": searchable_attributes, + "searchableAttributesTensor": searchable_attributes, + } + searchable_attributes = None + response = self.mq.index(index_name).search( q, limit=limit, offset=offset, ef_search=ef_search, searchable_attributes=searchable_attributes, - search_method=method, + search_method=search_method, + hybrid_parameters=hybrid_parameters, ) return response
diff --git a/modules.html b/modules.html index d544e96..9ab38ba 100644 --- a/modules.html +++ b/modules.html @@ -144,21 +144,22 @@

A class for interfacing with Marqo and InstantAPI.

-add_documents(webpage_urls, index_name, api_response_structure, api_method_name, text_fields_to_index=[], image_fields_to_index=[], client_batch_size=8, total_image_weight=0.9, total_text_weight=0.1, enforce_schema=True)[source]
+add_documents(webpage_urls, index_name, api_response_structure, api_method_name, text_fields_to_index=[], image_fields_to_index=[], client_batch_size=8, total_image_weight=0.9, total_text_weight=0.1, enforce_schema=True, instantapi_threads=10)[source]

Add documents to a Marqo index from a list of webpage URLs, data is extracted using the InstantAPI Retrieve API.

Parameters:
  • webpage_urls (list[str]) – A list of webpage URLs to index.

  • -
  • index_name (str) – The name of the index to add documents to. If the index does not exist, it will be created based on the fields to index.

  • -
  • api_response_structure (dict) – The expected structure of the API’s response, this is passed to InstantAPI.

  • -
  • api_method_name (str) – The name of the API method to use for data extraction, this is passed to InstantAPI and should be descriptive to help to AI know what information to get.

  • +
  • index_name (str) – The name of the index to add documents to.

  • +
  • api_response_structure (dict) – The expected structure of the API’s response.

  • +
  • api_method_name (str) – The name of the API method to use for data extraction.

  • text_fields_to_index (list[str], optional) – A list of text fields for indexing. Defaults to [].

  • image_fields_to_index (list[str], optional) – A list of image fields for indexing. Defaults to [].

  • -
  • client_batch_size (int, optional) – The client batch size for Marqo, controls how many docs are sent at a time. Defaults to 8.

  • -
  • total_image_weight (float, optional) – The total weight for images, applies when both image and text fields are provided. Defaults to 0.9.

  • -
  • total_text_weight (float, optional) – The total weight for text, applies when both image and text fields are provided. Defaults to 0.1.

  • +
  • client_batch_size (int, optional) – The client batch size for Marqo. Defaults to 8.

  • +
  • total_image_weight (float, optional) – The total weight for images. Defaults to 0.9.

  • +
  • total_text_weight (float, optional) – The total weight for text. Defaults to 0.1.

  • enforce_schema (bool, optional) – Toggle strict enforcement of InstantAPI responses against the schema. Defaults to True.

  • +
  • instantapi_threads (int, optional) – The number of threads to use for InstantAPI requests. Defaults to 10.

Raises:
@@ -255,7 +256,7 @@
-search(q, index_name, limit=10, offset=0, searchable_attributes=None, method='hybrid')[source]
+search(q, index_name, limit=10, offset=0, searchable_attributes=None, search_method='hybrid')[source]

Search a Marqo index via a simplified interface.

Parameters:
@@ -265,7 +266,7 @@
  • limit (int, optional) – The number of results to retrieve. Defaults to 10.

  • offset (int, optional) – The offset for the search results. Defaults to 0.

  • searchable_attributes (Optional[list], optional) – The attributes to search. Defaults to None.

  • -
  • method (Literal["tensor", "lexical", "hybrid"], optional) – The search method to use, tensor uses only vectors, lexical uses only text, hybrid combines both with RRF. Defaults to “hybrid”.

  • +
  • search_method (Literal["tensor", "lexical", "hybrid"], optional) – The search method to use, tensor uses only vectors, lexical uses only text, hybrid combines both with RRF. Defaults to “hybrid”.

  • Raises:
    diff --git a/searchindex.js b/searchindex.js index bdb1acb..3f645c1 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"Contents:": [[0, null]], "Indices and tables": [[0, "indices-and-tables"]], "Marqo InstantAPI": [[1, null]], "marqo-instantapi documentation": [[0, null]]}, "docnames": ["index", "modules"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["index.rst", "modules.rst"], "indexentries": {"add_documents() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.add_documents", false]], "crawl() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.crawl", false]], "create_index() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.create_index", false]], "delete_index() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.delete_index", false]], "instantapiclient (class in marqo_instantapi.instant_api_client)": [[1, "marqo_instantapi.instant_api_client.InstantAPIClient", false]], "instantapimarqoadapter (class in marqo_instantapi.marqo_instantapi_adapter)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter", false]], "marqo_instantapi": [[1, "module-marqo_instantapi", false]], "marqo_instantapi.instant_api_client": [[1, "module-marqo_instantapi.instant_api_client", false]], "marqo_instantapi.marqo_instantapi_adapter": [[1, "module-marqo_instantapi.marqo_instantapi_adapter", false]], "module": [[1, "module-marqo_instantapi", false], [1, "module-marqo_instantapi.instant_api_client", false], [1, "module-marqo_instantapi.marqo_instantapi_adapter", false]], "next_pages() (marqo_instantapi.instant_api_client.instantapiclient method)": [[1, "marqo_instantapi.instant_api_client.InstantAPIClient.next_pages", false]], "retrieve() (marqo_instantapi.instant_api_client.instantapiclient method)": [[1, "marqo_instantapi.instant_api_client.InstantAPIClient.retrieve", false]], "search() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.search", false]]}, "objects": {"": [[1, 0, 0, "-", "marqo_instantapi"]], "marqo_instantapi": [[1, 0, 0, "-", "instant_api_client"], [1, 0, 0, "-", "marqo_instantapi_adapter"]], "marqo_instantapi.instant_api_client": [[1, 1, 1, "", "InstantAPIClient"]], "marqo_instantapi.instant_api_client.InstantAPIClient": [[1, 2, 1, "", "next_pages"], [1, 2, 1, "", "retrieve"]], "marqo_instantapi.marqo_instantapi_adapter": [[1, 1, 1, "", "InstantAPIMarqoAdapter"]], "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter": [[1, 2, 1, "", "add_documents"], [1, 2, 1, "", "crawl"], [1, 2, 1, "", "create_index"], [1, 2, 1, "", "delete_index"], [1, 2, 1, "", "search"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method"}, "terms": {"": 1, "0": 1, "1": 1, "10": 1, "8": 1, "8882": 1, "9": 1, "A": 1, "If": 1, "The": 1, "ad": 1, "add": 1, "add_docu": 1, "against": 1, "ai": 1, "allowed_domain": 1, "alreadi": 1, "also": 1, "an": 1, "ani": 1, "api": 1, "api_kei": 1, "api_method_nam": 1, "api_paramet": 1, "api_response_structur": 1, "appli": 1, "ar": 1, "attribut": 1, "automat": 1, "base": 1, "batch": 1, "befor": 1, "bool": 1, "both": 1, "browser": 1, "cach": 1, "cache_ttl": 1, "check": 1, "class": 1, "client": 1, "client_batch_s": 1, "code": 1, "combin": 1, "confirm": 1, "conform": 1, "control": 1, "countri": 1, "country_cod": 1, "crawl": 1, "creat": 1, "create_index": 1, "creation": 1, "data": 1, "default": 1, "delet": 1, "delete_index": 1, "descript": 1, "dict": 1, "doc": 1, "document": 1, "doe": 1, "domain": 1, "download": 1, "each": 1, "enabl": 1, "enable_javascript": 1, "endpoint": 1, "enforc": 1, "enforce_schema": 1, "exampl": 1, "exclud": 1, "exist": 1, "expect": 1, "extract": 1, "fals": 1, "field": 1, "fine": 1, "float": 1, "from": 1, "get": 1, "grain": 1, "help": 1, "how": 1, "http": 1, "hybrid": 1, "i": 1, "imag": 1, "image_fields_to_index": 1, "implement": 1, "index": [0, 1], "index_nam": 1, "influenc": 1, "inform": 1, "initi": 1, "initial_webpage_url": 1, "instant_api_cli": 1, "instantapi_kei": 1, "instantapicli": [0, 1], "instantapimarqoadapt": [0, 1], "int": 1, "interfac": 1, "invalid": 1, "javascript": 1, "know": 1, "lexic": 1, "limit": 1, "list": 1, "liter": 1, "live": 1, "localhost": 1, "mani": 1, "marqo_adapt": 1, "marqo_api_kei": 1, "marqo_instantapi": 1, "marqo_instantapi_adapt": 1, "marqo_url": 1, "max_pag": 1, "maximum": 1, "method": 1, "model": 1, "modul": 0, "multimod": 1, "my": 1, "name": 1, "need": 1, "next_pag": 1, "none": 1, "number": 1, "object": 1, "off": 1, "offset": 1, "onli": 1, "option": 1, "output": 1, "page": [0, 1], "paramet": 1, "pass": 1, "provid": 1, "q": 1, "queri": 1, "rais": 1, "recommend": 1, "request": 1, "respons": 1, "result": 1, "retriev": 1, "return": 1, "rrf": 1, "schema": 1, "search": [0, 1], "searchable_attribut": 1, "select": 1, "sent": 1, "serp": 1, "serp_limit": 1, "serp_page_num": 1, "serp_sit": 1, "set": 1, "should": 1, "simplifi": 1, "site": 1, "size": 1, "skip": 1, "skip_if_exist": 1, "skip_if_not_exist": 1, "sourc": 1, "specif": 1, "specifi": 1, "start": 1, "str": 1, "strict": 1, "string": 1, "structur": 1, "tensor": 1, "text": 1, "text_fields_to_index": 1, "them": 1, "thi": 1, "time": 1, "todo": 1, "toggl": 1, "total": 1, "total_image_weight": 1, "total_text_weight": 1, "true": 1, "type": 1, "union": 1, "url": 1, "us": 1, "valueerror": 1, "vector": 1, "verbos": 1, "via": 1, "wait": 1, "wait_for_xpath": 1, "webpag": 1, "webpage_url": 1, "weight": 1, "what": 1, "when": 1, "whether": 1, "xpath": 1}, "titles": ["marqo-instantapi documentation", "Marqo InstantAPI"], "titleterms": {"content": 0, "document": 0, "indic": 0, "instantapi": [0, 1], "marqo": [0, 1], "tabl": 0}}) \ No newline at end of file +Search.setIndex({"alltitles": {"Contents:": [[0, null]], "Indices and tables": [[0, "indices-and-tables"]], "Marqo InstantAPI": [[1, null]], "marqo-instantapi documentation": [[0, null]]}, "docnames": ["index", "modules"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["index.rst", "modules.rst"], "indexentries": {"add_documents() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.add_documents", false]], "crawl() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.crawl", false]], "create_index() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.create_index", false]], "delete_index() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.delete_index", false]], "instantapiclient (class in marqo_instantapi.instant_api_client)": [[1, "marqo_instantapi.instant_api_client.InstantAPIClient", false]], "instantapimarqoadapter (class in marqo_instantapi.marqo_instantapi_adapter)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter", false]], "marqo_instantapi": [[1, "module-marqo_instantapi", false]], "marqo_instantapi.instant_api_client": [[1, "module-marqo_instantapi.instant_api_client", false]], "marqo_instantapi.marqo_instantapi_adapter": [[1, "module-marqo_instantapi.marqo_instantapi_adapter", false]], "module": [[1, "module-marqo_instantapi", false], [1, "module-marqo_instantapi.instant_api_client", false], [1, "module-marqo_instantapi.marqo_instantapi_adapter", false]], "next_pages() (marqo_instantapi.instant_api_client.instantapiclient method)": [[1, "marqo_instantapi.instant_api_client.InstantAPIClient.next_pages", false]], "retrieve() (marqo_instantapi.instant_api_client.instantapiclient method)": [[1, "marqo_instantapi.instant_api_client.InstantAPIClient.retrieve", false]], "search() (marqo_instantapi.marqo_instantapi_adapter.instantapimarqoadapter method)": [[1, "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter.search", false]]}, "objects": {"": [[1, 0, 0, "-", "marqo_instantapi"]], "marqo_instantapi": [[1, 0, 0, "-", "instant_api_client"], [1, 0, 0, "-", "marqo_instantapi_adapter"]], "marqo_instantapi.instant_api_client": [[1, 1, 1, "", "InstantAPIClient"]], "marqo_instantapi.instant_api_client.InstantAPIClient": [[1, 2, 1, "", "next_pages"], [1, 2, 1, "", "retrieve"]], "marqo_instantapi.marqo_instantapi_adapter": [[1, 1, 1, "", "InstantAPIMarqoAdapter"]], "marqo_instantapi.marqo_instantapi_adapter.InstantAPIMarqoAdapter": [[1, 2, 1, "", "add_documents"], [1, 2, 1, "", "crawl"], [1, 2, 1, "", "create_index"], [1, 2, 1, "", "delete_index"], [1, 2, 1, "", "search"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method"}, "terms": {"": 1, "0": 1, "1": 1, "10": 1, "8": 1, "8882": 1, "9": 1, "A": 1, "If": 1, "The": 1, "ad": 1, "add": 1, "add_docu": 1, "against": 1, "allowed_domain": 1, "alreadi": 1, "also": 1, "an": 1, "ani": 1, "api": 1, "api_kei": 1, "api_method_nam": 1, "api_paramet": 1, "api_response_structur": 1, "appli": 1, "ar": 1, "attribut": 1, "automat": 1, "base": 1, "batch": 1, "befor": 1, "bool": 1, "both": 1, "browser": 1, "cach": 1, "cache_ttl": 1, "check": 1, "class": 1, "client": 1, "client_batch_s": 1, "code": 1, "combin": 1, "confirm": 1, "conform": 1, "control": 1, "countri": 1, "country_cod": 1, "crawl": 1, "creat": 1, "create_index": 1, "creation": 1, "data": 1, "default": 1, "delet": 1, "delete_index": 1, "dict": 1, "doc": 1, "document": 1, "doe": 1, "domain": 1, "download": 1, "each": 1, "enabl": 1, "enable_javascript": 1, "endpoint": 1, "enforc": 1, "enforce_schema": 1, "exampl": 1, "exclud": 1, "exist": 1, "expect": 1, "extract": 1, "fals": 1, "field": 1, "fine": 1, "float": 1, "from": 1, "grain": 1, "how": 1, "http": 1, "hybrid": 1, "i": 1, "imag": 1, "image_fields_to_index": 1, "implement": 1, "index": [0, 1], "index_nam": 1, "influenc": 1, "initi": 1, "initial_webpage_url": 1, "instant_api_cli": 1, "instantapi_kei": 1, "instantapi_thread": 1, "instantapicli": [0, 1], "instantapimarqoadapt": [0, 1], "int": 1, "interfac": 1, "invalid": 1, "javascript": 1, "lexic": 1, "limit": 1, "list": 1, "liter": 1, "live": 1, "localhost": 1, "mani": 1, "marqo_adapt": 1, "marqo_api_kei": 1, "marqo_instantapi": 1, "marqo_instantapi_adapt": 1, "marqo_url": 1, "max_pag": 1, "maximum": 1, "method": 1, "model": 1, "modul": 0, "multimod": 1, "my": 1, "name": 1, "need": 1, "next_pag": 1, "none": 1, "number": 1, "object": 1, "off": 1, "offset": 1, "onli": 1, "option": 1, "output": 1, "page": [0, 1], "paramet": 1, "pass": 1, "provid": 1, "q": 1, "queri": 1, "rais": 1, "recommend": 1, "request": 1, "respons": 1, "result": 1, "retriev": 1, "return": 1, "rrf": 1, "schema": 1, "search": [0, 1], "search_method": 1, "searchable_attribut": 1, "select": 1, "sent": 1, "serp": 1, "serp_limit": 1, "serp_page_num": 1, "serp_sit": 1, "set": 1, "simplifi": 1, "site": 1, "size": 1, "skip": 1, "skip_if_exist": 1, "skip_if_not_exist": 1, "sourc": 1, "specif": 1, "specifi": 1, "start": 1, "str": 1, "strict": 1, "string": 1, "structur": 1, "tensor": 1, "text": 1, "text_fields_to_index": 1, "them": 1, "thi": 1, "thread": 1, "time": 1, "todo": 1, "toggl": 1, "total": 1, "total_image_weight": 1, "total_text_weight": 1, "true": 1, "type": 1, "union": 1, "url": 1, "us": 1, "valueerror": 1, "vector": 1, "verbos": 1, "via": 1, "wait": 1, "wait_for_xpath": 1, "webpag": 1, "webpage_url": 1, "weight": 1, "when": 1, "whether": 1, "xpath": 1}, "titles": ["marqo-instantapi documentation", "Marqo InstantAPI"], "titleterms": {"content": 0, "document": 0, "indic": 0, "instantapi": [0, 1], "marqo": [0, 1], "tabl": 0}}) \ No newline at end of file