java - Lucene 区分大小写和不区分大小写的搜索

标签 java lucene

我有一个当前区分大小写的 Lucene 索引。我想添加一个选项,将不区分大小写的搜索作为后备。这意味着与案例匹配的结果将获得更多权重并首先出现。比如限制结果数为10条,有10条符合我的情况,这样就够了。如果我只找到 7 个结果,我可以从不区分大小写的搜索中再添加 3 个结果。

我的情况实际上更复杂,因为我有不同重量的元素。理想情况下,匹配“错误”的大小写会增加一些权重。不用说,我不想要重复的结果。

一种可能的方法是有 2 个索引。一个有盒子,一个没有盒子,然后搜索两者。当然,这里有一些冗余,因为我需要索引两次。

有更好的解决方案吗?想法?

最佳答案

您是否已经尝试过 copyField?见http://wiki.apache.org/solr/SchemaXml#Copy_Fields

如果没有用不同的配置定义一个新的字段B,通过copyField将字​​段A复制到B中

关于java - Lucene 区分大小写和不区分大小写的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2487736/

相关文章:

java - libt2k.so 在armv7上执行jar时出错,如何修复?

java - 在 Java 中构建搜索树

solr - 使用 Solr ltr(学习排名)模块时如何使用用户点击来训练模型

indexing - 在大型数据库中搜索(非常)近似子串

java - Fisica.init() 不被它自己的库识别

javascript - 如何将音频 blob 从 javascript 发送到 java spring 服务器?

java - 编写正则表达式以在 Java 中提取信息

java - 杜克快速重复数据删除 : java. lang.UnsupportedOperationException : Operation not yet supported?

lucene - 将lucene索引分成两半

loops - Elasticsearch 遍历两个索引的值