Token count field type
editToken count field type
editA field of type token_count is really an integer field which
accepts string values, analyzes them, then indexes the number of tokens in the
string.
For instance:
response = client.indices.create(
index: 'my-index-000001',
body: {
mappings: {
properties: {
name: {
type: 'text',
fields: {
length: {
type: 'token_count',
analyzer: 'standard'
}
}
}
}
}
}
)
puts response
response = client.index(
index: 'my-index-000001',
id: 1,
body: {
name: 'John Smith'
}
)
puts response
response = client.index(
index: 'my-index-000001',
id: 2,
body: {
name: 'Rachel Alice Williams'
}
)
puts response
response = client.search(
index: 'my-index-000001',
body: {
query: {
term: {
"name.length": 3
}
}
}
)
puts response
PUT my-index-000001
{
"mappings": {
"properties": {
"name": {
"type": "text",
"fields": {
"length": {
"type": "token_count",
"analyzer": "standard"
}
}
}
}
}
}
PUT my-index-000001/_doc/1
{ "name": "John Smith" }
PUT my-index-000001/_doc/2
{ "name": "Rachel Alice Williams" }
GET my-index-000001/_search
{
"query": {
"term": {
"name.length": 3
}
}
}
|
The |
|
|
The |
|
|
This query matches only the document containing |
Parameters for token_count fields
editThe following parameters are accepted by token_count fields:
|
The analyzer which should be used to analyze the string value. Required. For best performance, use an analyzer without token filters. |
|
|
|
Indicates if position increments should be counted.
Set to |
|
Should the field be stored on disk in a column-stride fashion, so that it
can later be used for sorting, aggregations, or scripting? Accepts |
|
|
Should the field be searchable? Accepts |
|
|
Accepts a numeric value of the same |
|
|
Whether the field value should be stored and retrievable separately from
the |