【问题标题】:slow whoosh searches缓慢的嗖嗖声搜索
【发布时间】:2012-08-06 04:36:20
【问题描述】:

在使用简单架构创建了一个 whoosh 索引并为 150 万条记录编制索引后,我在 15 秒内获得了接近 1000 个搜索结果。

schema = Schema(tax_id=STORED, name=TEXT(stored=True))

MAIN*.seg 文件的大小约为 190 Mb。

我的搜索方式如下

 ix=open_dir("index")
  with ix.searcher() as searcher:
        query = QueryParser("name", ix.schema).parse(u'putrefaciens')
         results = searcher.search(query)

我想知道这种性能是否符合预期,在给定索引大小的情况下,我们能否使用 whoosh 进行更快的全文搜索。

【问题讨论】:

  • 由于 Whoosh 每次都在变化(为了更好),您正在/正在使用哪个版本?即使您的索引中有很多文档,这也是不可接受的性能,即使对于 Whoosh 也是如此。这不应超过 3(任意)秒。

标签: python indexing whoosh


【解决方案1】:

不确定它是否对您的应用程序有帮助,但我只想指出,TEXT 字段比 ID 字段做的事情更复杂。

在我的 whoosh 应用程序中,我有一个“名称”TEXT 字段,用于“已处理”索引/搜索。所以只要输入一些单词,如果它在名字中就会被找到。

如果我只想“按原样”进行精确索引/查找,我还有一个“name_exact”ID 字段。

如果后者对您的应用程序来说已经足够了,您可以只使用 ID 字段来尝试性能。

正如 Steve K 已经指出的那样,使用最近的 whoosh(甚至是 repo 提示)也可能会有所帮助。

【讨论】:

    猜你喜欢
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    相关资源
    最近更新 更多