如何突出搜索嗖的

时间:2015-12-03 14:04:12

标签: python highlighting whoosh

我使用了pythonhosted.org的示例代码,但似乎没有发生任何事情。这是我使用的代码:

results = mysearcher.search(myquery)
for hit in results:
    print(hit["title"])

我将此代码输入到python中,但它出现错误mysearcher is not defined。因此,我真的不确定自己是否会遗漏一些东西,因为我只是想通过基础知识让我开始运作。

1 个答案:

答案 0 :(得分:1)

您缺少定义搜索者mysearcher,复制整个代码。这是一个完整的例子:

>>> import whoosh
>>> from whoosh.index import create_in
>>> from whoosh.fields import *
>>> schema = Schema(title=TEXT(stored=True), path=ID(stored=True), content=TEXT)
>>> ix = create_in("indexdir", schema)
>>> writer = ix.writer()
>>> writer.add_document(title=u"First document", path=u"/a",
...                     content=u"This is the first document we've added!")
>>> writer.add_document(title=u"Second document", path=u"/b",
...                     content=u"The second one is even more interesting!")
>>> writer.commit()
>>> from whoosh.qparser import QueryParser
>>> with ix.searcher() as searcher:
...     query = QueryParser("content", ix.schema).parse("first")
...     results = searcher.search(query)
...     results[0]
...
{"title": u"First document", "path": u"/a"}

你可以这样强调:

for hit in results:
    print(hit["title"])
    # Assume "content" field is stored
    print(hit.highlights("content"))