3

在创建了一个带有简单模式的 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 进行更快的全文搜索。

4

1 回答 1

0

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

在我的 whoosh 应用程序中,我有一个“名称”TEXT 字段,用于“处理”索引/搜索。因此,只要输入一些单词,就会发现它是否在名称中。

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

如果后者足以满足您的应用程序,您可以尝试使用 ID 字段进行性能。

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

于 2013-02-24T14:45:00.990 回答