-
Notifications
You must be signed in to change notification settings - Fork 113
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
761: Add similar documents query to index r=curquiza a=jdvalenzuelah # Pull Request ## Related issue Fixes #755 ## What does this PR do? - Add similar documents method to index ## PR checklist Please check if your PR fulfills the following requirements: - [x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)? - [x] Have you read the contributing guidelines? - [x] Have you made sure that the title is accurate and descriptive of the changes? Thank you so much for contributing to Meilisearch! Co-authored-by: Josue Valenzuela <[email protected]> Co-authored-by: Clémentine <[email protected]>
- Loading branch information
Showing
13 changed files
with
245 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
49 changes: 49 additions & 0 deletions
49
src/main/java/com/meilisearch/sdk/SimilarDocumentRequest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
package com.meilisearch.sdk; | ||
|
||
import lombok.*; | ||
import lombok.experimental.Accessors; | ||
import org.json.JSONObject; | ||
|
||
@Builder | ||
@AllArgsConstructor(access = AccessLevel.PACKAGE) | ||
@Getter | ||
@Setter | ||
@Accessors(chain = true) | ||
public class SimilarDocumentRequest { | ||
private String id; | ||
private String embedder; | ||
private String[] attributesToRetrieve; | ||
private Integer offset; | ||
private Integer limit; | ||
private String filter; | ||
private Boolean showRankingScore; | ||
private Boolean showRankingScoreDetails; | ||
private Double rankingScoreThreshold; | ||
private Boolean retrieveVectors; | ||
|
||
/** | ||
* Constructor for SimilarDocumentsRequest for building search request for similar documents | ||
* with the default values: id null, embedder "default", attributesToRetrieve ["*"], offset 0, | ||
* limit 20, filter null, showRankingScore false, showRankingScoreDetails false, | ||
* rankingScoreThreshold null, retrieveVectors false | ||
*/ | ||
public SimilarDocumentRequest() {} | ||
|
||
@Override | ||
public String toString() { | ||
JSONObject jsonObject = | ||
new JSONObject() | ||
.put("id", this.id) | ||
.put("embedder", this.embedder) | ||
.put("attributesToRetrieve", this.attributesToRetrieve) | ||
.put("offset", this.offset) | ||
.put("limit", this.limit) | ||
.put("filter", this.filter) | ||
.put("showRankingScore", this.showRankingScore) | ||
.put("showRankingScoreDetails", this.showRankingScoreDetails) | ||
.put("rankingScoreThreshold", this.rankingScoreThreshold) | ||
.put("retrieveVectors", this.retrieveVectors); | ||
|
||
return jsonObject.toString(); | ||
} | ||
} |
24 changes: 24 additions & 0 deletions
24
src/main/java/com/meilisearch/sdk/model/EmbedderInputType.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package com.meilisearch.sdk.model; | ||
|
||
import com.fasterxml.jackson.annotation.JsonValue; | ||
import com.google.gson.annotations.SerializedName; | ||
|
||
public enum EmbedderInputType { | ||
@SerializedName("text") | ||
TEXT("text"), | ||
|
||
@SerializedName("textArray") | ||
TEXT_ARRAY("textArray"); | ||
|
||
public final String inputType; | ||
|
||
private EmbedderInputType(String inputType) { | ||
this.inputType = inputType; | ||
} | ||
|
||
@JsonValue | ||
@Override | ||
public String toString() { | ||
return this.inputType; | ||
} | ||
} |
33 changes: 33 additions & 0 deletions
33
src/main/java/com/meilisearch/sdk/model/EmbedderSource.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
package com.meilisearch.sdk.model; | ||
|
||
import com.fasterxml.jackson.annotation.JsonValue; | ||
import com.google.gson.annotations.SerializedName; | ||
|
||
public enum EmbedderSource { | ||
@SerializedName("openAi") | ||
OPEN_AI("openAi"), | ||
|
||
@SerializedName("huggingFace") | ||
HUGGING_FACE("huggingFace"), | ||
|
||
@SerializedName("ollama") | ||
OLLAMA("ollama"), | ||
|
||
@SerializedName("rest") | ||
REST("rest"), | ||
|
||
@SerializedName("userProvided") | ||
USER_PROVIDED("userProvided"); | ||
|
||
public final String source; | ||
|
||
private EmbedderSource(String source) { | ||
this.source = source; | ||
} | ||
|
||
@JsonValue | ||
@Override | ||
public String toString() { | ||
return this.source; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package com.meilisearch.sdk.model; | ||
|
||
import lombok.*; | ||
import lombok.experimental.Accessors; | ||
|
||
@Builder | ||
@AllArgsConstructor(access = AccessLevel.PACKAGE) | ||
@Getter | ||
@Setter | ||
@Accessors(chain = true) | ||
public class Embedders { | ||
protected EmbedderSource source; | ||
protected String url; | ||
protected String apiKey; | ||
protected String model; | ||
protected String documentTemplate; | ||
protected Integer dimensions; | ||
protected String revision; | ||
protected String[] inputField; | ||
protected EmbedderInputType inputType; | ||
protected String query; | ||
|
||
public Embedders() {} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
src/main/java/com/meilisearch/sdk/model/SimilarDocumentsResults.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package com.meilisearch.sdk.model; | ||
|
||
import java.util.ArrayList; | ||
import java.util.HashMap; | ||
import lombok.Getter; | ||
import lombok.ToString; | ||
|
||
/** | ||
* Meilisearch similar documents results data structure | ||
* | ||
* @see <a href="https://www.meilisearch.com/docs/reference/api/similar#response-200-ok">API | ||
* specification</a> | ||
*/ | ||
@Getter | ||
@ToString | ||
public class SimilarDocumentsResults { | ||
ArrayList<HashMap<String, Object>> hits; | ||
String id; | ||
int processingTimeMs; | ||
int offset; | ||
int limit; | ||
int estimatedTotalHits; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
[ | ||
{ | ||
"title": "Shazam!", | ||
"release_year": 2019, | ||
"id": "287947", | ||
"_vectors": { "manual": [0.8, 0.4, -0.5]} | ||
}, | ||
{ | ||
"title": "Captain Marvel", | ||
"release_year": 2019, | ||
"id": "299537", | ||
"_vectors": { "manual": [0.6, 0.8, -0.2] } | ||
}, | ||
{ | ||
"title": "Escape Room", | ||
"release_year": 2019, | ||
"id": "522681", | ||
"_vectors": { "manual": [0.1, 0.6, 0.8] } | ||
}, | ||
{ | ||
"title": "How to Train Your Dragon: The Hidden World", | ||
"release_year": 2019, | ||
"id": "166428", | ||
"_vectors": { "manual": [0.7, 0.7, -0.4] } | ||
}, | ||
{ | ||
"title": "All Quiet on the Western Front", | ||
"release_year": 1930, | ||
"id": "143", | ||
"_vectors": { "manual": [-0.5, 0.3, 0.85] } | ||
} | ||
] |