在尝试从Solr 4.3.0升级到Solr 4.4.0时,我遇到了这个异常:
java.lang.IllegalArgumentException: enablePositionIncrements=false is not supported anymore as of Lucene 4.4 as it can create broken token streams
Run Code Online (Sandbox Code Playgroud)
这让我想到了这个问题.我需要能够匹配查询,而不管插入的停用词(曾经使用enablePositionIncrements ="true").例如:"条形图的foo"会找到与"foo bar","foo of bar"和"foo of the bar"相匹配的文档.在4.4.0中不推荐使用此选项我不清楚如何保持相同的功能.
该包的Javadoc补充说:
如果所选分析器过滤停用词"是"和"该",那么对于包含字符串"蓝色是天空"的文档,只有标记"蓝色","天空"被索引,位置("天空") = 3 +位置("蓝色").现在,短语查询"蓝色是天空"会找到该文档,因为同一个分析器会从该查询中过滤相同的停用词.但是短语查询"蓝天"将找不到该文档,因为"蓝色"和"天空"之间的位置增量仅为1.
如果此行为不符合应用程序需求,则需要将查询解析器配置为在生成短语查询时不考虑位置增量.
但是没有提到如何实际配置查询解析器来执行此操作.当Solr走向5.0时,有谁知道如何处理这个问题?
| 归档时间: |
|
| 查看次数: |
3426 次 |
| 最近记录: |