用多个词搜索的Apache solr通配符

时间:2016-07-01 10:29:02

标签: solr

我们正在使用apache solr和php。

外卡搜索存在问题。

我们想搜索“项目管理*”,它可以列出项目经理,项目管理等可能的结果。但是,只要在外卡搜索中有两个单词就行不通了

例如“projectmanage *”正在运行,而“proejct manage *”无效。我们也尝试通过逃避空间,但它也没有工作..

期待所有有价值的投入......先谢谢。

1 个答案:

答案 0 :(得分:0)

应用通配符时,查询时不会执行常规分析链。这导致Solr从“项目管理”开始寻找令牌 - 如果您在编制索引时有分析链,则您的文本通常会被拆分为多个令牌。

您可以use a Shingle filter to index multiple tokens作为单个令牌,可以用来解决问题(请务必使用您在文本中使用的相同分隔符)。

另一种选择是在索引和查询时小写字段并使用未以任何方式处理的常规StrField,或使用KeywordTokenizer - 将索引内容保留为单个标记。