Create a new type

post/admin/config/types

Configures a new type. The request is rejected if a type already exists with the same name.

Request Samples

1

Response Samples

1{
2 "solution": "Insurance",
3 "name": "person",
4 "displayName": "Person",
5 "category": "entity",
6 "fields": {
7 "first_name": {
8 "displayName": "First Name",
9 "type": "text",
10 "options": {
11 "features": [
12 "search",
13 "sort"
14 ]
15 }
16 },
17 "last_name": {
18 "displayName": "Last Name",
19 "type": "text",
20 "options": {
21 "features": [
22 "search",
23 "facet",
24 "sort"
25 ]
26 }
27 },
28 "dob": {
29 "displayName": "Date of Birth",
30 "type": "date",
31 "options": {
32 "format": "strict_date_optional_time||epoch_millis"
33 }
34 },
35 "addresses": {
36 "displayName": "Addresses",
37 "type": "object",
38 "innerFields": {
39 "address": {
40 "displayName": "Address",
41 "type": "text"
42 },
43 "city": {
44 "displayName": "City",
45 "type": "text",
46 "options": {
47 "features": [
48 "facet"
49 ]
50 }
51 },
52 "areaCode": {
53 "displayName": "Area Code",
54 "type": "text",
55 "options": {
56 "features": []
57 }
58 },
59 "country": {
60 "displayName": "Country",
61 "type": "text",
62 "options": {
63 "features": []
64 }
65 },
66 "lat": {
67 "displayName": "Latitude",
68 "type": "double"
69 },
70 "lon": {
71 "displayName": "Longitude",
72 "type": "double"
73 }
74 }
75 }
76 },
77 "options": {
78 "number_of_replicas": 2
79 },
80 "config": {
81 "summary": {
82 "fields": [
83 "dob"
84 ],
85 "highlighting": {
86 "first_name": {
87 "highlighter": "plain",
88 "fragments": 3,
89 "fragmentSize": 50
90 },
91 "last_name": {
92 "highlighter": "plain",
93 "fragments": 3,
94 "fragmentSize": 50
95 }
96 }
97 },
98 "table": {
99 "fields": [
100 "first_name",
101 "last_name",
102 "dob"
103 ]
104 },
105 "facets": [
106 {
107 "type": "terms",
108 "field": "last_name",
109 "limit": 100
110 },
111 {
112 "type": "terms",
113 "field": "addresses.city",
114 "limit": 100
115 }
116 ],
117 "textAnalytics": {
118 "fields": [
119 "first_name",
120 "last_name"
121 ]
122 },
123 "events": [
124 {
125 "fields": {
126 "category": "birthday",
127 "label": "{first_name} {last_name}",
128 "description": "Born on {dob}",
129 "pointTimestamp": "{dob}"
130 }
131 },
132 {
133 "root": "addresses",
134 "fields": {
135 "category": "address",
136 "label": "{/first_name} {/last_name}",
137 "description": "Resides at {address} in {city}, {country}",
138 "latitude": "lat",
139 "longitude": "lon"
140 }
141 }
142 ],
143 "label": {
144 "template": "{0} {1}",
145 "values": [
146 "first_name",
147 "last_name"
148 ]
149 }
150 },
151 "links": [
152 {
153 "method": "GET",
154 "rel": "self",
155 "href": "/svi-sand/admin/config/types/person",
156 "uri": "/svi-sand/admin/config/types/person",
157 "type": "application/vnd.sas.sand.type"
158 },
159 {
160 "method": "PUT",
161 "rel": "update",
162 "href": "/svi-sand/admin/config/types/person",
163 "uri": "/svi-sand/admin/config/types/person",
164 "type": "application/vnd.sas.sand.type"
165 },
166 {
167 "method": "DELETE",
168 "rel": "delete",
169 "href": "/svi-sand/admin/config/types/person",
170 "uri": "/svi-sand/admin/config/types/person"
171 },
172 {
173 "method": "GET",
174 "rel": "up",
175 "href": "/svi-sand/admin/config/types",
176 "uri": "/svi-sand/admin/config/types",
177 "type": "application/vnd.sas.collection",
178 "itemType": "application/vnd.sas.sand.type"
179 }
180 ]
181}

Query Parameters

NameTypeRequiredDescription
validateOnly
boolean
false

Whether to validate the configuration without saving it.

Default:
false

Request Body

The request and response for /admin/config/types/{type} when retrieving or updating the configuration for a single entity or relationship type.

NameTypeRequiredDescription
version
integer
false

The representation version (3).

solution
string
false

The name of the solution.

Default:
default
name
string
false

The unique name for the type.

displayName
string
false

The localized display name for the type. Note for this release, this is the actual localized text as only one language is supported; in future, this member is the resource key to look up the localized display name.

category
string
false

The category of the type. The alert category applies to entities whose objects are generated by the Alert component and support free text, faceted, and graph search (represented by vertices in the Network visualization). The entity category (the default category) applies to all other internal and external entities and supports free text, faceted, geo, and graph search (represented by vertices in the Network visualization). The resolvedEntity category applies to resolved entities generated by the Entity Resolution component and supports free text, geo, and graph search (represented by vertices in the Network visualization). The entityRelationship category applies to relationships between internal, external, or alert entities and supports graph search (represented by edges in the Network visualization). The resolvedEntityRelationship category applies to relationships (between resolved entities and their contributing entities) generated by the Entity Resolution component and supports graph search (represented by edges in the Network visualization).

Allowed values:
alertentityresolvedEntityentityRelationshipresolvedEntityRelationship
fields
object
false

The field definitions keyed by field name. Field names can contain up to 150 alphanumeric characters and underscores but cannot start with an underscore.

options
object
false

Any options relating to this type. The boolean option indexed_for_search specifies whether objects of this type can be indexed (defaults to true). The integer option number_of_shards specifies the number of sections that the indexed data is divided into. These sections are distributed across the underlying search engine's data nodes. The acceptable range of values is from 1 to 1024. The default value is 1. The value should be set to ensure that each shard is no bigger than 50GB but ideally somewhere between 10GB and 30GB. As a rough guide, use a value equal to the total size of the indexed data divided by 20GB. The integer option number_of_replicas specifies the number of replica shards (that is, copies) per primary shard. These copies are distributed across the underlying search engine's data nodes to ensure high availability. The acceptable range of values is from 0 to 1024. The default value is 1. A value of 0 disables high availability since there are no replica shards; but, this is useful during the initial data load. The maximum usable value equates to the number of data nodes minus one (since a maximum of one copy of each shard can exist on each data node and one of them is the primary copy). As a rough guide, use a value between 1 and 3. The integer option refresh_interval specifies the frequency (in seconds) by which changes to the indexed data become searchable. The default value is 1. A value of -1 disables the refresh and is therefore useful when performing large bulk operations; otherwise a positive value is expected. Warnings: 1. modifying the number_of_shards, number_of_replicas or refresh_interval options can adversely affect the performance and stability of the application and as such they should be set only by advanced users. 2. changing the indexed_for_search option to false causes all indexed data for this type to be deleted, which cannot be undone without first making a backup.

config
typeConfiguration
false

The configuration relating to the various search visualizations. Although each sub-section is optional, their absence reduces the functionality available when interacting with objects or relationships of this type.

links
array [link]
false

Zero or more links to related resources or operations. See the link relations table for a description of the link types.

Responses

StatusMeaningDescription
201Created

The request succeeded.

HeadersSchema
400Bad Request

The request is malformed or contains invalid parameter values.

Schema
409Conflict

A type already exists with the given name.

Schema