Skip to content

Commit 04d160f

Browse files
committed
feat: Expose queryLanguages as a setting and search parameter
1 parent 5fd418a commit 04d160f

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

algoliasearch-common/src/main/java/com/algolia/search/objects/IndexSettings.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public class IndexSettings implements Serializable {
2020
private List<String> responseFields;
2121
private Integer maxFacetHits;
2222
private String keepDiacriticsOnCharacters;
23+
private List<String> queryLanguages;
2324

2425
/* attributes */
2526
/** Deprecated: use {@link #searchableAttributes} */
@@ -590,6 +591,15 @@ public IndexSettings setKeepDiacriticsOnCharacters(String keepDiacriticsOnCharac
590591
return this;
591592
}
592593

594+
public List<String> getQueryLanguages() {
595+
return queryLanguages;
596+
}
597+
598+
public IndexSettings setQueryLanguages(List<String> queryLanguages) {
599+
this.queryLanguages = queryLanguages;
600+
return this;
601+
}
602+
593603
@JsonAnySetter
594604
public IndexSettings setCustomSetting(String key, Object value) {
595605
this.customSettings.put(key, value);
@@ -720,6 +730,8 @@ public String toString() {
720730
+ ", keepDiacriticsOnCharacters='"
721731
+ keepDiacriticsOnCharacters
722732
+ '\''
733+
+ ", queryLanguages="
734+
+ queryLanguages
723735
+ ", customSettings="
724736
+ customSettings
725737
+ '}';

algoliasearch-common/src/main/java/com/algolia/search/objects/Query.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public class Query implements Serializable {
2727
protected List<String> responseFields;
2828
protected Long maxFacetHits;
2929
protected Boolean percentileComputation;
30+
protected List<String> queryLanguages;
3031

3132
/* attributes */
3233
protected List<String> attributesToRetrieve;
@@ -131,6 +132,7 @@ private Map<String, String> toQueryParam() {
131132
builder = add(builder, "responseFields", responseFields);
132133
builder = add(builder, "maxFacetHits", maxFacetHits);
133134
builder = add(builder, "percentileComputation", percentileComputation);
135+
builder = add(builder, "queryLanguages", queryLanguages);
134136

135137
/* attributes */
136138
builder = add(builder, "attributesToRetrieve", attributesToRetrieve);
@@ -421,6 +423,15 @@ public Query setPercentileComputation(Boolean percentileComputation) {
421423
return this;
422424
}
423425

426+
public List<String> getQueryLanguages() {
427+
return queryLanguages;
428+
}
429+
430+
public Query setQueryLanguages(List<String> queryLanguages) {
431+
this.queryLanguages = queryLanguages;
432+
return this;
433+
}
434+
424435
public List<String> getAttributesToRetrieve() {
425436
return attributesToRetrieve;
426437
}
@@ -899,6 +910,8 @@ public String toString() {
899910
+ maxFacetHits
900911
+ ", percentileComputation="
901912
+ percentileComputation
913+
+ ", queryLanguages="
914+
+ queryLanguages
902915
+ ", attributesToRetrieve="
903916
+ attributesToRetrieve
904917
+ ", restrictSearchableAttributes="

algoliasearch-tests/src/test/java/com/algolia/search/objects/IndexSettingsTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ public void keepDiacriticsOnCharacters() throws IOException {
4040
assertThat(result.getKeepDiacriticsOnCharacters()).isEqualTo("øé");
4141
}
4242

43+
@Test
44+
public void queryLanguages() throws IOException {
45+
IndexSettings settings = new IndexSettings().setQueryLanguages(Arrays.asList("a", "b"));
46+
IndexSettings result = serializeDeserialize(settings);
47+
assertThat(result).isEqualToComparingFieldByField(settings);
48+
assertThat(result.getQueryLanguages()).isEqualTo(Arrays.asList("a", "b"));
49+
}
50+
4351
@Test
4452
public void typoToleranceString() throws IOException {
4553
IndexSettings settings = new IndexSettings().setTypoTolerance(TypoTolerance.of("min"));

0 commit comments

Comments
 (0)