Elasticsearch07ignore_above

ignore_above 默認(rèn)值是256和敬,該參數(shù)的意思是凹炸,當(dāng)字段文本的長度大于指定值時(shí),不做倒排索引昼弟。
也就是說啤它,當(dāng)字段文本的長度大于指定值時(shí),聚合舱痘、全文搜索都查不到這條數(shù)據(jù)变骡。

ignore_above 最大值是32766,但是要根據(jù)場景來設(shè)置芭逝,比如說中文最大值應(yīng)該是設(shè)定在10922塌碌。

ignore_above 背后實(shí)際的含義是,Lucene對一個(gè)文本的解析長度旬盯,當(dāng)這個(gè)長度大于32766時(shí)台妆,將不會落實(shí)analyze行為。

Elasticsearch中采用的是字符個(gè)數(shù)來定義igmore_above值, 而
lucene是采用byte字節(jié)瓢捉;那么每個(gè)象形文字在utf-8中占位是3,
每個(gè)Literal字符在utf-8中占位是2, 每個(gè)ASCII字符在utf-8中占位是1.

象形文字字符(中文频丘、韓文、日文): 10922 個(gè)字符(算法是: 32766 / 3).
Literal字符(印度問泡态、俄文): 16383 個(gè)字符(算法是: 32766 / 2).
ASCII字符(a-zA-Z0-9以及~!@#$等特殊字符): 32766個(gè)字符(算法是: 32766).

?

測試代碼

from elasticsearch import Elasticsearch
from pprint import pprint
import time

es = Elasticsearch(hosts=["192.168.1.100"])

# 建索引, 寫入數(shù)據(jù).
if not es.indices.exists("my_index"):
    es.indices.create(
        index="my_index",
        body={
            "mappings": {
                "my_type": {
                    "properties": {
                        "message": {
                            "type": "keyword",
                            "ignore_above": 20
                        }
                    }
                }
            }
        }
    )

    # message: 小于20:  被倒排索引搂漠,能聚合、能被搜索某弦。
    s1 = es.index(
        index="my_index",
        doc_type="my_type",
        id=1,
        body={
            "message": "Syntax error"
        }
    )

    # message: 等于19:  被倒排索引桐汤,能聚合、能被搜索靶壮。
    s2 = es.index(
        index="my_index",
        doc_type="my_type",
        id=3,
        body={
            "message": "Syntax error search"
        }
    )

    # message: 等于20  被倒排索引怔毛,能聚合、能被搜索腾降。
    s2 = es.index(
        index="my_index",
        doc_type="my_type",
        id=4,
        body={
            "message": "Syntax error elastic"
        }
    )

    # message: 大于20  沒有倒排索引拣度,不能聚合、不能被搜索,可以被空搜索抗果。
    s3 = es.index(
        index="my_index",
        doc_type="my_type",
        id=2,
        body={
            "message": "Syntax error with some long stacktrace"
        }
    )

    # message: 象形文字, 20個(gè)文字.     被倒排索引筋帖,能聚合、能被搜索冤馏。
    es.index(
        index="my_index",
        doc_type="my_type",
        id=10,
        body={
            "message": "中國象形文字博大精深喔不知道你是否感興趣"
        }
    )

    # message: 象形文字, 21個(gè)文字.     沒有倒排索引日麸,不能聚合、不能被搜索逮光,可以被空搜索代箭。
    es.index(
        index="my_index",
        doc_type="my_type",
        id=11,
        body={
            "message": "中國象形文字博大精深喔不知道你是否感興趣呢"
        }
    )

    # 等待refresh導(dǎo)磁盤(才能搜索)
    time.sleep(10)


# ignore_above: 大于數(shù)值(默認(rèn): 256, 本范例: 20)范圍將不被聚合.
s4 = es.search(
    index="my_index",
    body={
        "aggs": {
            "messages": {
                "terms": {
                    "field": "message"
                }
            }
        }
    }
)

# ignore_above: 大于數(shù)值(默認(rèn): 256, 本范例: 20)范圍將不被搜索到.
s5 = es.search(
    index="my_index",
    body={
        "query": {
            "query_string": {
                "query": "syntax"
            }
        }
    }
)

# ignore_above: 空搜索可以搜索到.
s6 = es.search(
    index="my_index"
)

print("聚合:")
pprint(s4)

print("\n" * 10, "全文搜索: ")
pprint(s5)

print("\n" * 10, "空搜索: ")
pprint(s6)

?

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市涕刚,隨后出現(xiàn)的幾起案子嗡综,更是在濱河造成了極大的恐慌,老刑警劉巖杜漠,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛤高,死亡現(xiàn)場離奇詭異,居然都是意外死亡碑幅,警方通過查閱死者的電腦和手機(jī)戴陡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沟涨,“玉大人恤批,你說我怎么就攤上這事」埃” “怎么了喜庞?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長棋返。 經(jīng)常有香客問我延都,道長,這世上最難降的妖魔是什么睛竣? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任晰房,我火速辦了婚禮,結(jié)果婚禮上射沟,老公的妹妹穿的比我還像新娘殊者。我一直安慰自己,他們只是感情好验夯,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布猖吴。 她就那樣靜靜地躺著,像睡著了一般挥转。 火紅的嫁衣襯著肌膚如雪海蔽。 梳的紋絲不亂的頭發(fā)上共屈,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機(jī)與錄音党窜,去河邊找鬼趁俊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛刑然,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暇务,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼泼掠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了垦细?” 一聲冷哼從身側(cè)響起择镇,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎括改,沒想到半個(gè)月后腻豌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嘱能,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年吝梅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惹骂。...
    茶點(diǎn)故事閱讀 40,438評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苏携,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出对粪,到底是詐尸還是另有隱情右冻,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布著拭,位于F島的核電站纱扭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏儡遮。R本人自食惡果不足惜乳蛾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鄙币。 院中可真熱鬧屡久,春花似錦、人聲如沸爱榔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽详幽。三九已至筛欢,卻和暖如春浸锨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背版姑。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工柱搜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剥险。 一個(gè)月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓聪蘸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親表制。 傳聞我的和親對象是個(gè)殘疾皇子健爬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容