本文將用python實現倒排索引
如下,乙個資料表docu_set中有三篇文章的,d1,d2,d3,如下
docu_set=
下面用這張表做乙個簡單的搜尋引擎,採用倒排索引
首先對所有文件做分詞,得到文章的詞向量集合
all_words=
for i in docu_set.values():
# cut = jieba.cut(i)
cut=i.split()
all_words.extend(cut)
set_all_words=set(all_words)
print(set_all_words)
首先對所有文件做分詞,得到文章的詞向量集合
構建倒排索引
invert_index=dict()
for b in set_all_words:
temp=
for j in docu_set.keys():
field=docu_set[j]
split_field=field.split()
if b in split_field:
invert_index[b]=temp
print(invert_index)
倒排索引如下
全文搜尋 『university』
invert_index['university']
『university』,在文件 『d2』, 'd3』中,完成搜尋
['d2', 'd3']
**在git
參考文章
ES倒排索引原理與實現過程 建立倒排索引的步驟
提取詞項 首先對文件進行分詞,英文文件使用空格分隔。去掉沒有實際意義的詞,如is a in as等 大小寫轉換,使用關鍵字elasticsearch 能把elasticsearch 和elasticsearch都查詢出來,因此所有的單詞統一大小寫。單 複數,過去式 進行時等進行轉換,如希望使用ind...
實現倒排索引
倒排索引就是反向索引,一般索引指的是根據記錄位置來查詢值,而倒排索引的原理是 根據屬性的值來查詢記錄位置。比如說,現在有這些文章以及文章中含有的單詞。以英文為例,下面是要被索引的文字 文字0 it is what it is 文字1 what is it 文字2 it is a banana 我們就...
python 實現倒排索引的方法
如下 iasnkkvyxyencoding utf 8 fin open 1.txt r 建立正向索引 文件1 的id 單詞1 出現位置列表 單詞2 出現位置列表 文件2 的id 此文件出現的關鍵詞列表。forward index for line in fin line line.strip sp...