Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork37
typesense/typesense-java
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Java client library for accessing the HTTP API ofTypesense search engine.
The client is available on Maven central:
dependencies { implementation'org.typesense:typesense-java:1.3.0'}<dependency> <groupId>org.typesense</groupId> <artifactId>typesense-java</artifactId> <version>1.3.0</version></dependency>
importorg.typesense.api.*;importorg.typesense.model.*;importorg.typesense.resources.*;
List<Node>nodes =newArrayList<>();nodes.add(newNode("http",// For Typesense Cloud use https"localhost",// For Typesense Cloud use xxx.a1.typesense.net"8108"// For Typesense Cloud use 443 ));Configurationconfiguration =newConfiguration(nodes,Duration.ofSeconds(2),"<API_KEY>");Clientclient =newClient(configuration);
List<Field>fields =newArrayList<>();fields.add(newField().name("countryName").type(FieldTypes.STRING));fields.add(newField().name("capital").type(FieldTypes.STRING));fields.add(newField().name("gdp").type(FieldTypes.INT32).facet(true).sort(true));CollectionSchemacollectionSchema =newCollectionSchema();collectionSchema.name("Countries").fields(fields).defaultSortingField("gdp");client.collections().create(collectionSchema);
StringschemaJson =newString(Files.readAllBytes(Paths.get("schema.json")),StandardCharsets.UTF_8);client.collections().create(schemaJson);
Map<String,Object>hmap =newHashMap<>();hmap.put("countryName","India");hmap.put("capital","Delhi");hmap.put("gdp",10);client.collections("Countries").documents().create(hmap);
Map<String,Object>hmap =newHashMap<>();hmap.put("countryName","India");hmap.put("capital","Delhi");hmap.put("gdp",5);client.collections("Countries").documents().upsert(hmap);
ImportDocumentsParametersqueryParameters =newImportDocumentsParameters();queryParameters.action("create");StringdocumentList ="{\"countryName\":\"India\",\"capital\":\"Washington\",\"gdp\": 5215}\n" +"{\"countryName\":\"Iran\",\"capital\":\"London\",\"gdp\": 5215}";// Import your document as JSONL string from a file.client.collections("Countries").documents().import_(documentList,queryParameters)
SearchParameterssearchParameters =newSearchParameters() .q("tokoyo") .queryBy("countryName,capital") .prefix("true,false");SearchResultsearchResult =client.collections("Countries").documents().search(searchParameters);
Map<String,Object>hmap =newHashMap<>();hmap.put("gdp",8);client.collections("Countries").documents("28").update(hmap);
client.collections("Countries").documents("28").retrieve();
client.collections("Countries").documents("28").delete();
DeleteDocumentsParametersdeleteDocumentsParameters =newDeleteDocumentsParameters();deleteDocumentsParameters.filterBy("gdp:=[2,8]");deleteDocumentsParameters.batchSize(10);
client.collections("Countries").retrieve();
client.collections().retrieve();
client.collections("Countries").delete();
client.collections("Countries").documents().export();
AnalyticsRuleSchemaanalyticsRule =newAnalyticsRuleSchema();analyticsRule.setName("popular-queries");analyticsRule.setType(AnalyticsRuleSchema.TypeEnum.POPULAR_QUERIES);analyticsRule.setParams(newAnalyticsRuleParameters() .source(newAnalyticsRuleParametersSource() .collections(Arrays.asList("Countries"))) .destination(newAnalyticsRuleParametersDestination() .collection("top_searches")));client.analytics().rules().create(analyticsRule);
AnalyticsRuleUpsertSchemaanalyticsRule =newAnalyticsRuleUpsertSchema() .type(AnalyticsRuleUpsertSchema.TypeEnum.NOHITS_QUERIES) .params(newAnalyticsRuleParameters() .source(newAnalyticsRuleParametersSource() .collections(Arrays.asList("Countries"))) .destination(newAnalyticsRuleParametersDestination() .collection("failed_searches")));client.analytics().rules().upsert("failed-searches",analyticsRule);
AnalyticsRulesRetrieveSchemarules =client.analytics().rules().retrieve();
AnalyticsRuleSchemarule =client.analytics().rules("failed-searches").retrieve();
client.analytics().rules("failed-searches").delete();
AnalyticsEventCreateSchemaanalyticsEvent =newAnalyticsEventCreateSchema() .type("conversion") .name("purchase_made") .data(Map.of("product_id","123","user_id","user_456","amount","99.99" ));client.analytics().events().create(analyticsEvent);
List<String>stopwords =newArrayList<>();stopwords.add("the");stopwords.add("of");stopwords.add("and");StopwordsSetUpsertSchemastopwordsSet =newStopwordsSetUpsertSchema();stopwordsSet.stopwords(stopwords);client.stopwords().upsert("common-words",stopwordsSet);
StopwordsSetRetrieveSchemaset =client.stopwords("common-words").retrieve();
StopwordsSetsRetrieveAllSchemasets =client.stopwords().retrieve();
client.stopwords("common-words").delete();
ApiKeySchemaapiKeySchema =newApiKeySchema();List<String>actionValues =newArrayList<>();List<String>collectionValues =newArrayList<>();actionValues.add("*");collectionValues.add("*");apiKeySchema.description("Admin Key").actions(actionValues).collections(collectionValues);client.keys().create(apiKeySchema);
ApiKeySchemaapiKeySchema =newApiKeySchema();List<String>actionValues =newArrayList<>();List<String>collectionValues =newArrayList<>();actionValues.add("documents:search");collectionValues.add("Countries");apiKeySchema.description("Search only Key").actions(actionValues).collections(collectionValues);client.keys().create(apiKeySchema);
client.keys("6").retrieve();
client.keys().retrieve();
client.keys("6").delete();
SearchOverrideSchemasearchOverrideSchema =newSearchOverrideSchema();List<SearchOverrideInclude>searchOverrideIncludes =newArrayList<>();searchOverrideIncludes.add(newSearchOverrideInclude().id("422").position(1));searchOverrideIncludes.add(newSearchOverrideInclude().id("54").position(2));List<SearchOverrideExclude>searchOverrideExcludes =newArrayList<>();searchOverrideExcludes.add(newSearchOverrideExclude().id("287"));searchOverrideSchema.rule(newSearchOverrideRule().query("new york").match("exact")) .includes(searchOverrideIncludes) .excludes(searchOverrideExcludes);client.collections("Countries").overrides().upsert("new-york",searchOverrideSchema)
client.collections("Countries").overrides("new-york").retrieve();
client.collections("Countries").overrides().retrieve();
client.collections("Countries").overrides("new-york").delete();
CollectionAliasSchemacollectionAliasSchema =newCollectionAliasSchema();collectionAliasSchema.collectionName("Countries");client.aliases().upsert("countries2",collectionAliasSchema)
client.aliases("countries2").retrieve();
client.aliases().retrieve();
client.aliases("countries2").delete();
SearchSynonymSchemasynonym =newSearchSynonymSchema();synonym.addSynonymsItem("France").addSynonymsItem("Germany").addSynonymsItem("Sweden");client.collections("Countries").synonyms().upsert("country-synonyms",synonym)
SearchSynonymSchemasynonym =newSearchSynonymSchema();synonym.root("europe");synonym.addSynonymsItem("France").addSynonymsItem("Germany").addSynonymsItem("Sweden");client.collections("Countries").synonyms().upsert("continent-synonyms",synonym)
client.collections("Countries").synonyms("continent-synonyms").retrieve();
client.collections("Countries").synonyms().retrieve();
client.collections("Countries").synonyms("continent-synonyms").delete();
Map<String,String>query =newHashMap<>();query.put("snapshot_path","/tmp/typesense-data-snapshot");client.operations.perform("snapshot",query);
client.operations.perform("vote");
client.health.retrieve();
Please readCONTRIBUTING.md for details on the process for submitting pull requests to this repository.
typesense-java is distributed under the Apache 2 license.
Please open a Github issue or join ourSlack Community
About
Java client for Typesense
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors15
Uh oh!
There was an error while loading.Please reload this page.