Skip to content

Commit

Permalink
add support for the proximity precision setting
Browse files Browse the repository at this point in the history
  • Loading branch information
iMezemz committed Feb 4, 2024
1 parent 9a64a3a commit 76a9639
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 0 deletions.
41 changes: 41 additions & 0 deletions src/main/java/com/meilisearch/sdk/Index.java
Original file line number Diff line number Diff line change
Expand Up @@ -869,6 +869,47 @@ public TaskInfo resetDictionarySettings() throws MeilisearchException {
return this.settingsHandler.resetDictionarySettings(this.uid);
}

/**
* Gets the proximity precision level of the index
*
* @return proximity precision level of a given uid as String
* @throws MeilisearchException if an error occurs
* @see <a
* href="https://www.meilisearch.com/docs/reference/api/settings#get-proximity-precision-settings">API
* specification</a>
*/
public String getProximityPrecisionSettings() throws MeilisearchException {
return this.settingsHandler.getProximityPrecisionSettings(this.uid);
}

/**
* Updates the proximity precision level of the index
*
* @param proximityPrecision A String: the proximity precision level.
* @return TaskInfo instance
* @throws MeilisearchException if an error occurs
* @see <a
* href="https://www.meilisearch.com/docs/reference/api/settings#update-proximity-precision-settings">API
* specification</a>
*/
public TaskInfo updateProximityPrecisionSettings(String proximityPrecision)
throws MeilisearchException {
return this.settingsHandler.updateProximityPrecisionSettings(this.uid, proximityPrecision);
}

/**
* Resets the proximity precision level of the index
*
* @return TaskInfo instance
* @throws MeilisearchException if an error occurs
* @see <a
* href="https://www.meilisearch.com/docs/reference/api/settings#reset-proximity-precision-settings">API
* specification</a>
*/
public TaskInfo resetProximityPrecisionSettings() throws MeilisearchException {
return this.settingsHandler.resetProximityPrecisionSettings(this.uid);
}

/**
* Gets extended information and metrics about indexes and the Meilisearch database
*
Expand Down
45 changes: 45 additions & 0 deletions src/main/java/com/meilisearch/sdk/SettingsHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,51 @@ TaskInfo resetDictionarySettings(String uid) throws MeilisearchException {
settingsPath(uid).addSubroute("dictionary").getURL(), TaskInfo.class);
}

/**
* Gets the proximity precision level of the index
*
* @param uid Index identifier
* @return a string of the proximity precision level
* @throws MeilisearchException if an error occurs
*/
String getProximityPrecisionSettings(String uid) throws MeilisearchException {
String response =
httpClient.get(
settingsPath(uid).addSubroute("proximity-precision").getURL(),
String.class);
return response.substring(1, response.length() - 1);
}

/**
* Updates the proximity precision level of the index
*
* @param uid Index identifier
* @param proximityPrecision a String that contains the new proximity precision level settings
* @return TaskInfo instance
* @throws MeilisearchException if an error occurs
*/
TaskInfo updateProximityPrecisionSettings(String uid, String proximityPrecision)
throws MeilisearchException {
return httpClient.put(
settingsPath(uid).addSubroute("proximity-precision").getURL(),
proximityPrecision == null
? httpClient.jsonHandler.encode(proximityPrecision)
: "\"" + proximityPrecision + "\"",
TaskInfo.class);
}

/**
* Resets the proximity precision level of the index
*
* @param uid Index identifier
* @return TaskInfo instance
* @throws MeilisearchException if an error occurs
*/
TaskInfo resetProximityPrecisionSettings(String uid) throws MeilisearchException {
return httpClient.delete(
settingsPath(uid).addSubroute("proximity-precision").getURL(), TaskInfo.class);
}

/** Creates an URLBuilder for the constant route settings */
private URLBuilder settingsPath(String uid) {
return new URLBuilder("/indexes").addSubroute(uid).addSubroute("/settings");
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/meilisearch/sdk/model/Settings.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public class Settings {
protected Pagination pagination;
protected Faceting faceting;
protected String[] dictionary;
protected String proximityPrecision;

public Settings() {}
}

0 comments on commit 76a9639

Please sign in to comment.