我有一个Lucene索引,目前区分大小写.我想添加一个不区分大小写的搜索选项作为后备.这意味着与案例匹配的结果将获得更多权重并将首先出现.例如,如果结果数量限制为10,并且有10个匹配我的情况,这就足够了.如果我只找到7个结果,我可以从不区分大小写的搜索中添加3个结果.
我的情况实际上更复杂,因为我有不同重量的物品.理想情况下,匹配"错误"的情况会增加一些重量.不用说,我不想要重复的结果.
一种可能的方法是有2个索引.一个有一个案例,一个没有和搜索两个.当然,这里有一些冗余,因为我需要两次索引.
有更好的解决方案吗?想法?
你有没有试过copyField?请参阅http://wiki.apache.org/solr/SchemaXml#Copy_Fields
如果没有定义具有不同配置的新字段B,则通过copyField将字段A复制到B中
Lucene搜索区分大小写,只是通过Queryparser时所有输入通常都是低位的,因此感觉它不区分大小写.换句话说,在索引之前不要小写你的输入,也不要小写你的查询(例如选择一个不小写的分析器)关键字分析器.
[setLowercaseExpandedTerms][1](boolean lowercaseExpandedTerms)
Run Code Online (Sandbox Code Playgroud)
你可以使用区分大小写的分析器索引术语,当你想要不区分大小写的查询时,使用一个不会将你的术语转换为小写的类
查看通配符,前缀和模糊查询
归档时间: |
|
查看次数: |
14842 次 |
最近记录: |