【问题标题】:Whoosh Query Composition for docs containing 'most' terms包含“大多数”字词的文档的 Whoosh 查询组合
【发布时间】:2011-10-16 22:47:49
【问题描述】:

我刚开始使用 Whoosh 并注意到查询似乎对每个术语都应用了逻辑,例如 AND([term1, term2, ...]) 或 OR([term1, term2, ...])。

我的问题是我想在搜索字符串中包含包含大多数 项的文档,但不一定是全部。文档的术语越多,它应该越“相关”。例如,如果我搜索“big brown cow”,我希望结果包含仅匹配术语“brown”和“cow”或“big”和“brown”但不一定同时匹配的文档。当然,如果文档包含所有术语,那么它们的排名应该比其他文档更高。

我怎样才能做到这一点? (无需单独搜索每个单独的术语组合!)

【问题讨论】:

    标签: python full-text-search whoosh


    【解决方案1】:

    您可以将 Whoosh 解析器配置为默认在查询词之间使用 OR 而不是 AND。见http://packages.python.org/Whoosh/parsing.html#common-customizations

    然后,您可以编写一个自定义评分类,如果项目有更多搜索词,则对它们进行评分更高。请参阅http://packages.python.org/Whoosh/searching.html#scoring-and-sortinghttp://packages.python.org/Whoosh/api/scoring.html#module-whoosh.scoring

    总而言之,文档是开始寻找此类问题答案的好地方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-07
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 2016-04-23
      • 2018-10-30
      相关资源
      最近更新 更多