我有一个包含大量书籍的数据库。我有标题,描述,作者等领域。
我正在使用100f的提升索引标题和提升0.1f的描述,这两个字段都被标记化并阻止。
我正在使用单个输入字段进行搜索,该字段使用与BooleanClause.Occur.SHOULD连接的booleanquery搜索所有可用字段,并为每个字段包含一个wildcardquery。我还从查询中删除所有“停用词”以开始。
我遇到的问题是当我搜索没有引号的字符串时
标题查询变为“*wetenschap
* *leven
*”,描述查询相同,包装booleanquery与BooleanClause.Occur.SHOULD连接。
以下书籍在db
中这本书在前4本书中回归,这很好,但在这个实现中,我们在3处切断,其余部分在阅读更多链接之下。只是增加截止值不是一个选择
对我而言,“De wetenschap van het leven。在生物学多样化中的eenheid”一书将“更多”与其他查询相匹配(或者我感觉如此),但我无法找到正确的索引/搜索组合使这项工作。有没有人有想法?
答案 0 :(得分:2)
一些建议:
答案 1 :(得分:1)
我认为SpanQuery(特别是SpanNearQuery)可能就是您所需要的。
鉴于一份文件“快速的棕色狐狸跳过一只懒狗”
它可以找到“棕色狐狸”和“懒狗”的匹配。您可以调整斜率设置以调整两个搜索查询短语/术语之间的距离....简而言之,它为您提供了许多调整搜索的工具。
同样不熟悉荷兰语(?)语言,如果可能的话,您可能希望阻止查询,并避免使用通配符 - 它们非常昂贵,导致精度和召回率降低。
答案 2 :(得分:0)
我通过添加短语搜索整个字符串来提高相关性。通过这种方式,我们仍然可以获得“搜索所有内容”的行为,并且标题与其他标题相关性更高。