首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lucene Field.Store.YES与Field.Store.NO

Lucene Field.Store.YES与Field.Store.NO
EN

Stack Overflow用户
提问于 2015-10-05 02:57:33
回答 2查看 8.1K关注 0票数 21

请有人解释一下在什么情况下我可以使用Field.Store.NO而不是Field.Store.YES?我对Lucene非常陌生。我正试图创建一个文件。根据我的基本知识,我正在做

代码语言:javascript
复制
doc.add(new StringField(fieldNameA,fieldValueA,Field.Store.YES));
doc.add(new TextField(fieldNameB,fieldValueB,Field.Store.YES));
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-05 15:51:34

有两种基本方法可以将文档写入Lucene。

  • 索引-对字段进行分析和索引,并可进行搜索。
  • 存储-字段的全文将被存储,并将与搜索结果一起返回。

如果文档被索引但没有存储,您可以搜索它,但是它不会与搜索结果一起返回。

一种比较常见的模式是使用lucene进行搜索,但只存储一个ID字段,该ID字段可用于从SQL数据库、文件系统或web资源检索文档/记录的全部内容。

当字段只是搜索工具时,您也可能选择不存储该字段,但是您不会将其显示给用户,例如soundex/metaphone或对内容字段的替代分析。

票数 40
EN

Stack Overflow用户

发布于 2019-10-22 17:51:49

当您需要从Lucene文档返回文档时,请使用Field.Store.YES。当您只需要从文档中搜索时,请使用NO。下面是一个用场景解释的链接。https://handyopinion.com/java-lucene-saving-fields-or-not/

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32940650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档