为什么我无法搜索未存储的字段和关键字字段?
我有一个 lucene 应用程序,它工作得很好,索引和搜索,除了当我想搜索 1 个未存储字段和 1 个字段关键字(我只有这 2 种字段)时,我使用这个分析器:
Analyzer 分析器 = new SnowballAnalyzer("西班牙语", STOP_WORDS_SPANISH());
IndexWriter writer = new IndexWriter(PATH(), 分析器, true);
我确信我将未存储的字段和关键字字段放在同一个 lucene 文档中。所以我不知道什么失败了。
提前致谢 :)
I have a lucene application and it work's well, index and search, except when I want to search 1 field unstored AND 1 field keyword (I have only this 2 kind of field), and I use this analyzer:
Analyzer analyzer = new SnowballAnalyzer("Spanish", STOP_WORDS_SPANISH());
IndexWriter writer = new IndexWriter(PATH(), analyzer, true);
And I am sure I put the unstored fields and keywords fields in the same lucene document. So I don't know what fail.
Thanks in advance :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的搜索应使用与索引相同的分析。
由于您使用两个不同的分析器进行存储,因此在搜索时需要使用类似的分析。
我建议您使用 PerFieldAnalyzerWrapper 将字段与其各自的分析器正确匹配。
Your search should use the same Analysis as your indexing did.
As you are using two different analyzers for storage, you need to use similar analysis when searching.
I suggest you use a PerFieldAnalyzerWrapper to properly match fields with their respective analyzers.