Skip to main content
 首页 » 编程设计

python之精确匹配 whoosh 中的多个单词

2025年05月04日6linjiqin

默认情况下,多词搜索被拆分成文件,每个词单独存在。我怎样才能覆盖这个默认值并快速搜索完全匹配的内容?尽管它很可能受支持,但我在 google/whoosh 文档中找不到。

此外,与相同的多词搜索相比,搜索完全匹配的性能会更好还是更差?

请您参考如下方法:

使用phrase queries (也就是说,在您想要在查询中匹配的单词周围加上双引号),例如:

"to be or not to be" 

但是,这仅在您搜索的字段类型为 whoosh.fields.TEXT 时有效。

至于性能方面,短语搜索必然比“经典搜索”慢。要进行短语搜索,首先需要检索包含您在查询中指定的所有术语的所有文档(这是“经典搜索”部分),然后比较您查询的术语与文档之间的位置检查它是否匹配。