我这里用到的创建索引主要用来进行中文分词搜索和拼音搜索功能,创建语句如下:
1、创建索引:
PUT /lzjsyd/
{
"index" : {
"analysis" : {
"analyzer" : {
"pinyin_analyzer" : {
"tokenizer" : "rfpinyin",
"filter" : "pinyin_first_letter_and_full_pinyin_filter"
}
},
"tokenizer" : {
"rfpinyin" : {
"type" : "pinyin",
"keep_separate_first_letter" : true,
"keep_full_pinyin" : true,
"keep_original" : true,
"limit_first_letter_length" : 16,
"lowercase" : true,
"remove_duplicated_term" : false
}
},
"filter" : {
"pinyin_first_letter_and_full_pinyin_filter" : {
"type" : "pinyin",
"keep_first_letter" : true,
"keep_full_pinyin" : false
"keep_none_chinese" : true,
"keep_original" : false,
"limit_first_letter_length" : 16,
"lowercase" : true,
"trim_whitespace" : true,
"keep_none_chinese_in_first_letter" : true
}
}
}
}
}
2、设置:
PUT /lzjsyd/
{
"index" : {
"analysis" : {
"analyzer" : {
"pinyin_analyzer" : {
"tokenizer" : "whitespace",
"filter" : "pinyin_first_letter_and_full_pinyin_filter"
}
},
"filter" : {
"pinyin_first_letter_and_full_pinyin_filter" : {
"type" : "pinyin",
"keep_first_letter" : true,
"keep_full_pinyin" : false,
"keep_none_chinese" : true,
"keep_original" : false,
"limit_first_letter_length" : 16,
"lowercase" : true,
"trim_whitespace" : true,
"keep_none_chinese_in_first_letter" : true
}
}
}
}
}
3、添加Mapping:
POST /lzjsyd/view_search/_mapping
{
"view_search": {
"properties": {
"cxmc": {
"type":"text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word",
"boost": 8,
"fields": {
"title":{
"type": "text",
"analyzer": "ik_max_word"
},
"pinyin": {
"type": "text",
"store": false,
"term_vector": "with_offsets",
"analyzer": "pinyin_analyzer",
"boost": 1
}
}
}
}
}
}
4、删除查询结果
POST lzjsyd/view_search/_delete_by_query
{
"query": {
"match_all": {}
}
}