python 實現倒排索引,建立簡單的搜尋引擎

2021-09-21 01:21:04 字數 922 閱讀 5982

本文將用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...