Hi
Let me explain my question:
There is a document that include movie starring. for example:
{"index": {"_id": "2"}}
{ "starring": "邓光荣##区瑞强", "workName": "怒拔太阳旗", "length": "85:17"}
i set below mapping for starring filed:
curl -XPUT "http://localhost:9200/metadata/" -d'
{
"index" : {
"analysis" : {
"analyzer" : {
"name_analyzer" : {
"tokenizer" : "name_tokenizer",
"filter" : ["full_pinyin_no_space","my_edge_ngram_tokenizer"]
}
},"tokenizer": {
"name_tokenizer": {
"type": "pattern",
"pattern": "##"
}
},
"filter" :{
"full_pinyin_no_space" : {
"type" : "pinyin",
"first_letter" : "none",
"keep_separate_first_letter": true,
"padding_char" : ""
},"my_edge_ngram_tokenizer" : {
"type" : "edge_ngram",
"min_gram" : "1",
"max_gram" : "6",
"token_chars": [ "letter", "digit" ]
}
}
}
}
}'
curl -XPOST http://localhost:9200/metadata/movies/_mapping -d '
{
"properties": {
"starring":{
"type": "string",
"analyzer": "ik_max_word",
"fields": {
"pinyin":{
"type": "string",
"analyzer": "name_analyzer"
}
}
}
}
}'
so this process will return result when inputing "邓光荣" or "dgr" of first letter of "邓光荣" as search keywords.
my question is how to get more accuracy result that only include "邓光荣" if inputing chinese text "邓光荣" ?
when searching starring filed, whether i may set different analyzer dynamicly for every search ?
thanks very much~~