ããElasticsearchèªå¸¦çæ°æ®ç±»åæ¯Luceneç´¢å¼çä¾æ®ï¼ä¹æ¯æ们åæå¨æ å°è°æ´çä¾æ®ã
ããæ å°ä¸ä¸»è¦å°±æ¯é对å段设置类å以åç±»åç¸å
³åæ°ã
ãã
ãã1.JSONåºç¡ç±»åå¦ä¸ï¼
ãã
ããå符串ï¼string
ããæ°åï¼byteãshortãintegerãlongãfloatãdoubleã
ããæ¶é´ï¼date
ããå¸å°å¼: trueãfalse
ããæ°ç»: array
ãã对象: object
ãã
ãã2.Elasticsearchç¬æçç±»åï¼
ãã
ããå¤é: multi
ããç»çº¬åº¦: geo_point
ããç½ç»å°å: ip
ããå å /åµå¥å¯¹è±¡: nested object
ããäºè¿å¶: binary
ããé件: attachment
ãã注æç¹ï¼
ãã
ãã1.æ å°åºå½å¨å»ºç«ç´¢å¼æ¶ï¼åæ¶å»ºç«ãå¦æç´¢å¼å»ºç«åï¼è¿æ³åå¨ç´¢å¼ä¸å¢å å
¶ä»ç±»åçæ å°ï¼æ¯ä¸å¯ä»¥çãelasticsearch 对没æåæ å°çç±»åï¼é½å·²ç»æå®é»è®¤æ å°ã
ãã2.Elasticsearchæ å°è½ç¶æidnexåtype两å±å
³ç³»ï¼ä½æ¯å®é
ç´¢å¼æ¶æ¯ä»¥index为åºç¡çãå¦æåä¸ä¸ªindexä¸ä¸åtypeçå段åºç°mappingä¸ä¸è´çæ
åµï¼è½ç¶æ°æ®ä¾ç¶å¯ä»¥æååå
¥å¹¶çæåèªçmappingï¼ä½å®é
ä¸fielddataä¸çç´¢å¼ç»æå´ä¾ç¶æ¯ä»¥indexå
第ä¸ä¸ªmappingç±»åæ¥çæçã
ãã
ããèªå®ä¹å段æ å°
ãã
ããElasticsearchçMappingæä¾äºå¯¹Elasticsearchä¸ç´¢å¼å段ååå
¶æ°æ®ç±»åçå®ä¹ï¼è¿å¯ä»¥å¯¹æäºå段添å ç¹æ®å±æ§ï¼è¯¥å段æ¯å¦åè¯ï¼æ¯å¦åå¨ï¼ä½¿ç¨ä»ä¹æ ·çåè¯å¨çã
ãã
ãã精确索å¼ï¼
ãã
ããå段é½æå 个åºæ¬çæ å°é项ï¼ç±»åï¼typeï¼åç´¢å¼æ¹å¼(index)ã以å符串类å为ä¾ï¼indexæä¸ä¸ªé项ï¼
ããanalyzed:é»è®¤é项ï¼ä»¥æ åçå
¨æç´¢å¼æ¹å¼ï¼åæå符串ï¼å®æç´¢å¼ã
ããnot_analyzed:精确索å¼ï¼ä¸å¯¹å符串ååæï¼ç´æ¥ç´¢å¼å段æ°æ®ç精确å
容ã
ããnoï¼ä¸ç´¢å¼è¯¥å段ã
ãã对äºæ¥å¿æ件æ¥è¯´ï¼å¾å¤å段é½æ¯ä¸éè¦åElasticsearchéååæè¿æ¥çï¼æ以ï¼æ们å¯ä»¥è¿æ ·è®¾ç½®ï¼
ãã"myfieldname" : {
ãã"type" : "string",
ãã"index" : "not_analyzed"
ãã}
ããæ¶é´æ ¼å¼ï¼
ãã
ãã@timestampè¿ä¸ªæ¶é´æ ¼å¼å¨Nginxä¸å«$time_iso8601ï¼å¨Rsyslogä¸å«date-rfc3339,å¨Elasticsearchä¸å«dateOptionalTime.ä½äºå®ä¸ï¼Elasticsearchå®å
¨å¯ä»¥æ¥åå
¶ä»æ¶é´æ ¼å¼ä½ä¸ºæ¶é´å段çå
容ã对äºElasticsearchæ¥è¯´ï¼æ¶é´å段å
容å®é
ä¸å°±æ¯è½¬æ¢ælongç±»åä½ä¸ºå
é¨åå¨çãæ以ï¼æ¥å段çæ¶é´æ ¼å¼å¯ä»¥ä»»æ设置ï¼
ãã@timestamp: {
ãã"type" : "date",
ãã"index" : "not_analyzed",
ãã"doc_values" : true,
ãã"format" : "dd/MM/YYYY:HH:mm:ss Z"
ãã}
ãã
ãã
ããå¤éç´¢å¼ï¼
ãã
ããå¤éç´¢å¼æ¯Logstashç¨æ·ä¹ æ¯ççä¸ä¸ªæ å°ï¼å 为è¿æ¯Logstashé»è®¤å¼å¯çé
ç½®ï¼
ãã"title" : {
ãã"type" : "string",
ãã"fields" : {
ãã"raw" : {
ãã"type" : "string",
ãã"index" : "not_analyzed"
ãã}
ãã}
ãã}
ããå
¶ä½ç¨æ¶ï¼å¨titleå段æ°æ®åå
¥çæ¶åï¼Elasticsearchä¼èªå¨çæ两个å段ï¼åå«æ¯titleåtitle.rawãè¿æ ·ï¼æå¯è½åæ¶éè¦åè¯åä¸åè¯ç»æçç¯å¢ï¼å°±å¯ä»¥å¾çµæ´»ç使ç¨ä¸åçç´¢å¼å段äºãæ¯å¦ï¼æ¥çæ é¢ä¸æ常ç¨çåè¯ï¼åºè¯¥æ¯ä½¿ç¨titleå段ï¼æ¥çé
读æ°æå¤çæç« æ é¢ï¼åºè¯¥æ¯ä½¿ç¨title.rawå段ã
ãã
ããå¤å¼å段ï¼
ãã
ãã空å段ï¼
ãã
ããæ°ç»å¯ä»¥æ¯ç©ºçãè¿çäºæé¶ä¸ªå¼ãäºå®ä¸ï¼Lucene没æ³åæ¾nullå¼ï¼æ以ä¸ä¸ªnullå¼çå段被认为æ¯ç©ºå段ã
ããä¸é¢è¿å个å段å°è¢«è¯å«ä¸ºç©ºå段èä¸è¢«ç´¢å¼:
ãã"empty_string" : "",
ãã"null_value" : null,
ãã"empty_array" : [],
ãã"array_with_null_value" : [ null ]
温馨提示:答案为网友推荐,仅供参考