我在MongoDB中建立了一个大型银行数据库.我可以轻松地获取这些信息,并创建索引.例如,我想能够匹配银行名称“Eagle Bank&密苏里信托公司“和”密苏里州鹰银行信托公司“.以下代码使用简单的模糊这样的,但是无法实现上述匹配:
from whoosh.index import create_in
from whoosh.fields import *
schema = Schema(name=TEXT(stored=True))
ix = create_in("indexdir", schema)
writer = ix.writer()
test_items = [u"Eagle Bank and Trust Company of Missouri"]
writer.add_document(name=item)
writer.commit()
from whoosh.qparser import QueryParser
from whoosh.query import FuzzyTerm
with ix.searcher() as s:
qp = QueryParser("name", schema=ix.schema, termclass=FuzzyTerm)
q = qp.parse(u"Eagle Bank & Trust Co of Missouri")
results = s.search(q)
print results
给我:
有可能用Whoosh实现我想要的吗?如果没有其他基于python的解决方案呢?