You can
create custom analyzers, by taking existing analyzers as base.
PUT /blog { "settings": { "analysis": { "analyzer": { "myCustomAnalyzer":{ "type":"english", "stem_exclusion":["age", "issue"], "stopwords": ["a", "an", "and", "are", "as", "at", "be", "but", "by", "for","if", "in", "into", "is", "it", "of", "on", "or", "such", "that","the", "their", "then", "there", "these", "they", "this", "to","was", "will", "with"] } } } } }
Above
snippet creates custom analyzer “myCustomAnalyzer”.
PUT /blog/_mapping/posts { "properties":{ "title":{ "type" : "string", "analyzer" : "myCustomAnalyzer" } } }
POST /blog/_analyze?field=title { "Age is an issue of mind over matter." }
You will get
following response.
{ "tokens": [ { "token": "age", "start_offset": 5, "end_offset": 8, "type": "<ALPHANUM>", "position": 1 }, { "token": "issue", "start_offset": 15, "end_offset": 20, "type": "<ALPHANUM>", "position": 4 }, { "token": "mind", "start_offset": 24, "end_offset": 28, "type": "<ALPHANUM>", "position": 6 }, { "token": "over", "start_offset": 29, "end_offset": 33, "type": "<ALPHANUM>", "position": 7 }, { "token": "matter", "start_offset": 34, "end_offset": 40, "type": "<ALPHANUM>", "position": 8 } ] }
Suppose, if title uses “English” analyzer, you will get following response.
{ "tokens": [ { "token": "ag", "start_offset": 0, "end_offset": 3, "type": "", "position": 1 }, { "token": "issu", "start_offset": 10, "end_offset": 15, "type": "", "position": 4 }, { "token": "mind", "start_offset": 19, "end_offset": 23, "type": "", "position": 6 }, { "token": "over", "start_offset": 24, "end_offset": 28, "type": "", "position": 7 }, { "token": "matter", "start_offset": 29, "end_offset": 35, "type": "", "position": 8 } ] }
No comments:
Post a Comment