Neo4j在知識(shí)圖譜中的應(yīng)用(7)——建立中文全文索引并查詢

下面都是針對(duì)中文索引的

建立索引

CALL zdr.index.addChineseFulltextIndex('myIndex', ["definition","name"], 'Item') YIELD message RETURN message

myIndex是索引名,中括號(hào)里是屬性,Item是標(biāo)簽值。
如果需要?jiǎng)?chuàng)建隨著數(shù)據(jù)插入自動(dòng)更新的索引,用網(wǎng)上說有下列函數(shù):

CALL zdr.index.addChineseFulltextAutoIndex('myIndex', ["definition","name"], 'Item',{autoUpdate:'true'}) YIELD message RETURN message

最后一個(gè)參數(shù)是說插入新節(jié)點(diǎn)時(shí)自動(dòng)建立索引,但是新添加屬性不會(huì)自動(dòng)建立索引。但是我們找到這個(gè)插件,放棄了,每次導(dǎo)入新數(shù)據(jù)重新建立一次索引吧
如果創(chuàng)建成功返回如下信息:

"IndexName:myIndex,LabelName:Item,NodesSize:2,PropertiesSize:4"

查詢語句如下:

CALL zdr.index.chineseFulltextIndexSearch('myIndex', 'definition:定義', 200) YIELD node RETURN node

最后一個(gè)參數(shù)是返回結(jié)果的最大數(shù)量。
結(jié)果如下:


1.png

刪除索引
CALL apoc.index.remove('myIndex')

一個(gè)索引對(duì)應(yīng)多個(gè)標(biāo)簽

多次創(chuàng)建一個(gè)名稱的索引,每次對(duì)應(yīng)不同的標(biāo)簽,查詢時(shí)只要針對(duì)這個(gè)索引就可以查到很多標(biāo)簽里的節(jié)點(diǎn)

返回結(jié)果為JSON文件

這是個(gè)可能比較有用的功能,記錄一下:

match (n:Item) return casia.convert.json(n) limit 10

結(jié)果如下,實(shí)際上每條結(jié)果是一個(gè)Json格式的文件


2.png

試了一下,針對(duì)中文全文檢索的結(jié)果也可以打包成Json!

CALL zdr.index.chineseFulltextIndexSearch('myIndex', 'definition:定義', 200) YIELD node RETURN casia.convert.json(node)

問題

全文檢索時(shí)輸入任何單個(gè)文字都會(huì)把含有這個(gè)字的結(jié)果返回了,應(yīng)該不回結(jié)果才對(duì)呀,難道對(duì)每個(gè)文字都做了倒排索引?后面有時(shí)間要回頭看看這個(gè)問題的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容