scala 簡易倒排索引

2021-10-08 09:19:06 字數 975 閱讀 1112

需求:統計出指定磁碟目錄下檔案中的單詞在哪些檔案存在過:

檔案具體內容

檔案doc1.txt:

hello spark

hello hadoop

檔案doc2.txt:

hello hive

hello hbase

hello spark

檔案doc3.txt:

hadoop hbase

hive scala

我的實現方式:

package liwen.zhao.invert

import org.apache.spark.sparkcontext

import org.apache.spark.sparkconf

object driver .collect()

val res=new scala.collection.mutable.arraybuffer[(string,string)]();

data.foreach}}

sc.parallelize(res).reducebykey.map.foreach}}

輸出:

(scala,doc3.txt)

(spark,doc1.txt,doc2.txt)

(hive,doc2.txt,doc3.txt)

(hadoop,doc1.txt,doc3.txt)

(hello,doc1.txt,doc2.txt)

(hbase,doc2.txt,doc3.txt)

倒排索引 和 倒排表

為什麼我們要說倒排索引呢?因為倒排索引是目前 搜尋引擎公司最對搜尋引擎最常用的儲存方式.也是搜尋引擎的核心內容 在搜尋引擎實際的引用之中,有時需要按照關鍵字的某些值查詢記錄,所以我們是按照關鍵字建立索引,這個索引我們就稱之為 倒排索引,而帶有倒排索引的檔案我們又稱作 倒排索引檔案也可以叫它為 倒排檔...

倒排索引 Inverted Index

倒排索引 英語 inverted index 也常被稱為反向索引 置入檔案或反向檔案,是一種索引方法,被用來儲存在全文搜尋下某個單詞在乙個文件或者一組文件中的儲存位置的對映。它是文件檢索系統中最常用的資料結構。有兩種不同的反向索引形式 以英文為例,下面是要被索引的文字 我們就能得到下面的反向檔案索引...

1 倒排索引

總時間限制 1000ms 記憶體限制 131072kb 描述 給定一些文件,要求求出某些單詞的倒排表。對於乙個單詞,它的倒排表的內容為出現這個單詞的文件編號。輸入第一行包含乙個數n,1 n 1000,表示文件數。接下來n行,每行第乙個數c i,表示第i個文件的單詞數。接下來跟著c i個用空格隔開的單...