【发布时间】:2010-09-07 17:45:40
【问题描述】:
我们目前正在使用 Lucene 2.1.0 进行网站搜索,但遇到了一个难题:我们的一个索引字段在目标搜索期间被忽略了。以下是将字段添加到索引中的文档的代码:
// Add market_local to index
contactDocument.add(
new Field(
"market_local"
, StringUtils.objectToString(
currClip.get(
"market_local"
)
)
, Field.Store.YES
, Field.Index.UN_TOKENIZED
)
);
对索引运行查询 ( * ) 将返回以下结果:
Result 1:
title: Foo Bar
market_local: Local
Result 2:
title: Bar Foo
market_local: National
运行有针对性的查询:
+( market_local:Local )
找不到任何结果。
我意识到这是一个非常具体的问题,我只是想了解从哪里开始调试这个问题,因为我是 Lucene 新手。
更新
安装 Luke,检查最新索引...字段 market_local 在搜索中可用,所以如果我执行如下操作:
market_local:Local
搜索工作正常(在 Luke 中)。我现在正在检查我们的分析器代码,有什么办法可以将这个问题归结为我们的搜索应用程序使用的是 Lucene 2.1.0 而最新版本的 Luke 使用的是 2.3.0 吗?
【问题讨论】: