日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

倒排查詢

更新時(shí)間:

語法

  • 倒排查詢(sub_syntax)的語法類似ES查詢語法。

  • sub_syntax 用 JSON 描述,但是 JSON 中 {} 與現(xiàn)有的 iGraph 語法沖突,因此所有 {} 需要轉(zhuǎn)義為 \{ \}。

  • 倒排查詢支持四種查詢方式:?jiǎn)蝨erm、AND、OR、ANDNOT。

單term

  • "match"用于按索引召回查詢。

  • "name"是需要查詢的索引字段名稱。

即便name是數(shù)字類型索引,那么查詢關(guān)鍵詞同樣需要使用雙引號(hào)引起來,否則查詢失敗。

要在表配置頁面添加對(duì)應(yīng)字段的索引配置,否則查詢失敗。

\{"match": \{ "name" : "劉德華"\} \}

AND

  • "and" 節(jié)點(diǎn)下的子節(jié)點(diǎn)個(gè)數(shù)需要 >= 2

  • "and" 子節(jié)點(diǎn)可以是 match、 and、or

\{  "and" : [       \{ "match" : \{ "name" : "劉德華"\} \},       \{ "match" : \{ "id"   : "102" \} \},       \{ "or"    : \{ ...... \} \}   ]\}

OR

  • "or" 節(jié)點(diǎn)下的子節(jié)點(diǎn)個(gè)數(shù)需要 >= 2

  • "or" 子節(jié)點(diǎn)可以是 match、 and、or

\{   "or" : [              \{ "match" : \{ "name" : "劉德華"\} \},       \{ "match" : \{ "id"   : "102" \} \},       \{ "and"   : \{ ...... \} \}    ]\}

ANDNOT

  • "andnot" 節(jié)點(diǎn)下的子節(jié)點(diǎn)個(gè)數(shù)必須 >= 2

  • T1 ADNNOT T2 ANDNOT ... ANDNOT Tn 其實(shí)等價(jià)于T1 ANDNOT (T2 OR T3 ... OR Tn)

\{  "andnot" : [      "match" : \{ "name" : "劉德華"\},      "match" : \{ ...... \}   ]\}

示例

Gremlin

  • 倒排檢索需要使用indexQuery

  • 如果有indexQuery step修飾V step的話,V step的輸入?yún)?shù)可以為空。

  • kv、kkv 表不能使用倒排查詢

g("graph_name").V().hasLabel("thinkerpop_modern_software_index").indexQuery("{\"match\":{\"lang\":\"java\"}}")==> {"label":"thinkerpop_modern_software_index","lang":"java","name":"ripple","pk":"5"}

注意事項(xiàng)

  • 倒排表實(shí)時(shí)數(shù)據(jù)更新最好不要超過5k QPS,否則會(huì)對(duì)查詢性能有較大影響。

  • 倒排查詢默認(rèn)有查詢截?cái)啵▎瘟?k)

  • 示例:

    • 問題:有一個(gè)字段是 f1 = "a,b,c,d",如果想查 f1 包含 a 或者 f1 包含 c ,如何用or和match組合實(shí)現(xiàn)?

    • 解答:f1 字段配置索引字段時(shí)需要特別配置分詞器(請(qǐng)看索引配置小節(jié)),索引創(chuàng)建時(shí)會(huì)分別以a b c d創(chuàng)建倒排索引。然后即可使用 match,or,and等進(jìn)行組合查詢。