diff --git a/src/main/java/com/meilisearch/sdk/Documents.java b/src/main/java/com/meilisearch/sdk/Documents.java
index 002ff14f..432c56e2 100644
--- a/src/main/java/com/meilisearch/sdk/Documents.java
+++ b/src/main/java/com/meilisearch/sdk/Documents.java
@@ -154,15 +154,19 @@ String getRawDocuments(String uid, DocumentsQuery param) throws MeilisearchExcep
* @param uid Partial index identifier for the document
* @param document String containing the document to add
* @param primaryKey PrimaryKey of the document
+ * @param csvDelimiter CSV delimiter of the document
* @return Meilisearch's TaskInfo API response
* @throws MeilisearchException if the client request causes an error
*/
- TaskInfo addDocuments(String uid, String document, String primaryKey)
+ TaskInfo addDocuments(String uid, String document, String primaryKey, String csvDelimiter)
throws MeilisearchException {
URLBuilder urlb = documentPath(uid);
if (primaryKey != null) {
urlb.addParameter("primaryKey", primaryKey);
}
+ if (csvDelimiter != null) {
+ urlb.addParameter("csvDelimiter", csvDelimiter);
+ }
return httpClient.post(urlb.getURL(), document, TaskInfo.class);
}
@@ -175,12 +179,15 @@ TaskInfo addDocuments(String uid, String document, String primaryKey)
* @return Meilisearch's TaskInfo API response
* @throws MeilisearchException if the client request causes an error
*/
- TaskInfo updateDocuments(String uid, String document, String primaryKey)
+ TaskInfo updateDocuments(String uid, String document, String primaryKey, String csvDelimiter)
throws MeilisearchException {
URLBuilder urlb = documentPath(uid);
if (primaryKey != null) {
urlb.addParameter("primaryKey", primaryKey);
}
+ if (csvDelimiter != null) {
+ urlb.addParameter("csvDelimiter", csvDelimiter);
+ }
return httpClient.put(urlb.getURL(), document, TaskInfo.class);
}
diff --git a/src/main/java/com/meilisearch/sdk/Index.java b/src/main/java/com/meilisearch/sdk/Index.java
index 2a81862c..3751c1e2 100644
--- a/src/main/java/com/meilisearch/sdk/Index.java
+++ b/src/main/java/com/meilisearch/sdk/Index.java
@@ -166,7 +166,7 @@ public String getRawDocuments(DocumentsQuery param) throws MeilisearchException
* specification
*/
public TaskInfo addDocuments(String document) throws MeilisearchException {
- return this.documents.addDocuments(this.uid, document, null);
+ return this.documents.addDocuments(this.uid, document, null, null);
}
/**
@@ -181,7 +181,24 @@ public TaskInfo addDocuments(String document) throws MeilisearchException {
* specification
*/
public TaskInfo addDocuments(String document, String primaryKey) throws MeilisearchException {
- return this.documents.addDocuments(this.uid, document, primaryKey);
+ return this.documents.addDocuments(this.uid, document, primaryKey, null);
+ }
+
+ /**
+ * Adds/Replaces documents in the index
+ *
+ * @param document Document to add in CSV string format
+ * @param primaryKey PrimaryKey of the document to add
+ * @param csvDelimiter Custom delimiter to use for the document being added
+ * @return TaskInfo Meilisearch API response
+ * @throws MeilisearchException if an error occurs
+ * @see API
+ * specification
+ */
+ public TaskInfo addDocuments(String document, String primaryKey, String csvDelimiter)
+ throws MeilisearchException {
+ return this.documents.addDocuments(this.uid, document, primaryKey, csvDelimiter);
}
/**
@@ -211,7 +228,8 @@ public TaskInfo[] addDocumentsInBatches(String document, Integer batchSize, Stri
jsonSubArray.put(j, jsonDocumentsArray.get(i + j));
}
arrayResponses.add(
- this.documents.addDocuments(this.uid, jsonSubArray.toString(), primaryKey));
+ this.documents.addDocuments(
+ this.uid, jsonSubArray.toString(), primaryKey, null));
}
return arrayResponses.toArray(new TaskInfo[arrayResponses.size()]);
}
@@ -241,7 +259,7 @@ public TaskInfo[] addDocumentsInBatches(String document) throws MeilisearchExcep
* specification
*/
public TaskInfo updateDocuments(String document) throws MeilisearchException {
- return this.documents.updateDocuments(this.uid, document, null);
+ return this.documents.updateDocuments(this.uid, document, null, null);
}
/**
@@ -257,7 +275,24 @@ public TaskInfo updateDocuments(String document) throws MeilisearchException {
*/
public TaskInfo updateDocuments(String document, String primaryKey)
throws MeilisearchException {
- return this.documents.updateDocuments(this.uid, document, primaryKey);
+ return this.documents.updateDocuments(this.uid, document, primaryKey, null);
+ }
+
+ /**
+ * Updates documents in the index
+ *
+ * @param document Document to update in CSV string format
+ * @param primaryKey PrimaryKey of the document
+ * @param csvDelimiter Custom delimiter to use for the document being added
+ * @return TaskInfo Meilisearch API response
+ * @throws MeilisearchException if an error occurs
+ * @see API
+ * specification
+ */
+ public TaskInfo updateDocuments(String document, String primaryKey, String csvDelimiter)
+ throws MeilisearchException {
+ return this.documents.updateDocuments(this.uid, document, primaryKey, csvDelimiter);
}
/**
@@ -287,7 +322,8 @@ public TaskInfo[] updateDocumentsInBatches(
jsonSubArray.put(j, jsonDocumentsArray.get(i + j));
}
arrayResponses.add(
- this.documents.updateDocuments(this.uid, jsonSubArray.toString(), primaryKey));
+ this.documents.updateDocuments(
+ this.uid, jsonSubArray.toString(), primaryKey, null));
}
return arrayResponses.toArray(new TaskInfo[arrayResponses.size()]);
}