1.I'm writing a very simple whoosh project. Firstly, I read a txt file and use read() method to get all the contents in the txt file. Then build an index for this content.
2.Here is the code for implementation:
for the txt file content:
#import functions from whoosh
import whoosh
from whoosh.index import create_in
from whoosh.fields import *
from whoosh.qparser import QueryParser
schema = Schema(title=TEXT(stored=True), path=ID(stored=True), content=TEXT)
ix = create_in(".", schema)
writer = ix.writer()
i = 0
f = open("read.txt", "r")
print(f.read())
writer.add_document(title=u"document "+str(i), path=u".",content=f.read()) #python iterator i starting from 0
writer.commit(optimize=True)
searcher = ix.searcher()
parser = QueryParser("content", ix.schema)
stringquery = parser.parse("Hello")
results = searcher.search(stringquery)
print ("search 1 result:")
print (results)
for r in results:
print (r)
for the txt file content:
Hello this is the test
I hope you are doing well
I think you can do it without problem
This is so cool without funciton
'Hello'suppose to be stored in the index but when I was trying to search hello it returns nothing
search 1 result:
<Top 0 Results for Term('content', 'hello') runtime=7.878600001731684e-05>