Skip to content

Commit

Permalink
Merge branch 'main' into feat/similar-documents
Browse files Browse the repository at this point in the history
  • Loading branch information
Ja7ad authored Jul 31, 2024
2 parents f792ff5 + 69d3542 commit 634bb76
Show file tree
Hide file tree
Showing 6 changed files with 105 additions and 5 deletions.
7 changes: 7 additions & 0 deletions .code-samples.meilisearch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,7 @@ update_settings_1: |-
Faceting: &meilisearch.Faceting{
MaxValuesPerFacet: 200,
},
SearchCutoffMs: 150,
}
client.Index("movies").UpdateSettings(&settings)
reset_settings_1: |-
Expand Down Expand Up @@ -907,3 +908,9 @@ search_parameter_reference_ranking_score_threshold_1: |-
client.Index("INDEX_NAME").Search("badman", &meilisearch.SearchRequest{
RankingScoreThreshold: 0.2,
})
get_search_cutoff_1: |-
client.Index("movies").GetSearchCutoffMs()
update_search_cutoff_1: |-
client.Index("movies").UpdateSearchCutoffMs(150)
reset_search_cutoff_1: |-
client.Index("books").ResetSearchCutoffMs()
3 changes: 3 additions & 0 deletions index.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ type IndexInterface interface {
GetFilterableAttributes() (resp *[]string, err error)
UpdateFilterableAttributes(request *[]string) (resp *TaskInfo, err error)
ResetFilterableAttributes() (resp *TaskInfo, err error)
GetSearchCutoffMs() (resp int64, err error)
UpdateSearchCutoffMs(request int64) (resp *TaskInfo, err error)
ResetSearchCutoffMs() (resp *TaskInfo, err error)

WaitForTask(taskUID int64, options ...WaitParams) (*Task, error)
}
Expand Down
46 changes: 46 additions & 0 deletions index_settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -638,3 +638,49 @@ func (i Index) ResetEmbedders() (resp *TaskInfo, err error) {
}
return resp, nil
}

func (i Index) GetSearchCutoffMs() (resp int64, err error) {
req := internalRequest{
endpoint: "/indexes/" + i.UID + "/settings/search-cutoff-ms",
method: http.MethodGet,
withRequest: nil,
withResponse: &resp,
acceptedStatusCodes: []int{http.StatusOK},
functionName: "GetSearchCutoffMs",
}
if err = i.client.executeRequest(req); err != nil {
return 0, err
}
return resp, nil
}

func (i Index) UpdateSearchCutoffMs(request int64) (resp *TaskInfo, err error) {
req := internalRequest{
endpoint: "/indexes/" + i.UID + "/settings/search-cutoff-ms",
method: http.MethodPut,
contentType: contentTypeJSON,
withRequest: &request,
withResponse: &resp,
acceptedStatusCodes: []int{http.StatusAccepted},
functionName: "UpdateSearchCutoffMs",
}
if err = i.client.executeRequest(req); err != nil {
return nil, err
}
return resp, nil
}

func (i Index) ResetSearchCutoffMs() (resp *TaskInfo, err error) {
req := internalRequest{
endpoint: "/indexes/" + i.UID + "/settings/search-cutoff-ms",
method: http.MethodDelete,
withRequest: nil,
withResponse: &resp,
acceptedStatusCodes: []int{http.StatusAccepted},
functionName: "ResetSearchCutoffMs",
}
if err = i.client.executeRequest(req); err != nil {
return nil, err
}
return resp, nil
}
41 changes: 36 additions & 5 deletions index_settings_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ func TestIndex_GetSettings(t *testing.T) {
RankingRules: defaultRankingRules,
DistinctAttribute: (*string)(nil),
SearchableAttributes: []string{"*"},
SearchCutoffMs: 0,
DisplayedAttributes: []string{"*"},
StopWords: []string{},
Synonyms: map[string][]string(nil),
Expand All @@ -245,6 +246,7 @@ func TestIndex_GetSettings(t *testing.T) {
RankingRules: defaultRankingRules,
DistinctAttribute: (*string)(nil),
SearchableAttributes: []string{"*"},
SearchCutoffMs: 0,
DisplayedAttributes: []string{"*"},
StopWords: []string{},
Synonyms: map[string][]string(nil),
Expand Down Expand Up @@ -1531,6 +1533,7 @@ func TestIndex_UpdateSettings(t *testing.T) {
Faceting: &Faceting{
MaxValuesPerFacet: 200,
},
SearchCutoffMs: 150,
},
},
wantTask: &TaskInfo{
Expand All @@ -1548,6 +1551,7 @@ func TestIndex_UpdateSettings(t *testing.T) {
TypoTolerance: &defaultTypoTolerance,
Pagination: &defaultPagination,
Faceting: &defaultFaceting,
SearchCutoffMs: 150,
},
},
{
Expand Down Expand Up @@ -1593,6 +1597,7 @@ func TestIndex_UpdateSettings(t *testing.T) {
Faceting: &Faceting{
MaxValuesPerFacet: 200,
},
SearchCutoffMs: 150,
},
},
wantTask: &TaskInfo{
Expand All @@ -1610,6 +1615,7 @@ func TestIndex_UpdateSettings(t *testing.T) {
TypoTolerance: &defaultTypoTolerance,
Pagination: &defaultPagination,
Faceting: &defaultFaceting,
SearchCutoffMs: 150,
},
},
}
Expand All @@ -1620,16 +1626,12 @@ func TestIndex_UpdateSettings(t *testing.T) {
i := c.Index(tt.args.UID)
t.Cleanup(cleanup(c))

gotResp, err := i.GetSettings()
require.NoError(t, err)
require.Equal(t, tt.wantResp, gotResp)

gotTask, err := i.UpdateSettings(&tt.args.request)
require.NoError(t, err)
require.GreaterOrEqual(t, gotTask.TaskUID, tt.wantTask.TaskUID)
testWaitForTask(t, i, gotTask)

gotResp, err = i.GetSettings()
gotResp, err := i.GetSettings()
require.NoError(t, err)
require.Equal(t, &tt.args.request, gotResp)
})
Expand Down Expand Up @@ -3075,3 +3077,32 @@ func TestIndex_ResetEmbedders(t *testing.T) {
require.NoError(t, err)
require.Empty(t, got)
}

func Test_SearchCutoffMs(t *testing.T) {
c := defaultClient
t.Cleanup(cleanup(c))

indexID := "newIndexUID"
i := c.Index(indexID)
taskInfo, err := c.CreateIndex(&IndexConfig{Uid: indexID})
require.NoError(t, err)
testWaitForTask(t, i, taskInfo)

n := int64(250)

task, err := i.UpdateSearchCutoffMs(n)
require.NoError(t, err)
testWaitForTask(t, i, task)

got, err := i.GetSearchCutoffMs()
require.NoError(t, err)
require.Equal(t, n, got)

task, err = i.ResetSearchCutoffMs()
require.NoError(t, err)
testWaitForTask(t, i, task)

got, err = i.GetSearchCutoffMs()
require.NoError(t, err)
require.Equal(t, int64(0), got)
}
1 change: 1 addition & 0 deletions types.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ type Settings struct {
RankingRules []string `json:"rankingRules,omitempty"`
DistinctAttribute *string `json:"distinctAttribute,omitempty"`
SearchableAttributes []string `json:"searchableAttributes,omitempty"`
SearchCutoffMs int64 `json:"searchCutoffMs,omitempty"`
DisplayedAttributes []string `json:"displayedAttributes,omitempty"`
StopWords []string `json:"stopWords,omitempty"`
Synonyms map[string][]string `json:"synonyms,omitempty"`
Expand Down
12 changes: 12 additions & 0 deletions types_easyjson.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 634bb76

Please sign in to comment.