langhua9527 2009-06-25 16:11 采纳率: 0%
浏览 194
已采纳

Lucene 1.*版本和2.*版本的Field

[code="java"]
//2.0+
doc.add(new Field("file",file.getName(),Field.Store.YES,Field.Index.NO));
//1.0+
doc.add(Field.UnIndexed("file", file.getName()));
[/code]

Keyword对应Field.Store.YES, Field.Index.UN_TOKENIZED,
UnIndexed 对应Field.Store.YES, Field.Index.NO,
UnStored对应Field.Store.NO, Field.Index.TOKENIZED,
Text对应Field.Store.YES, Field.Index.TOKENIZED

这些Keyword,UnIndexed,UnStored,Text到底是什么意思啊?有用过Lucene介绍一下,这样创建Index的区别在那里?
我也看了一些资料,就是不明白里面的意思

Field.Index Field.Store 说明
TOKENIZED(分词) YES 被分词索引且存储
TOKENIZED NO 被分词索引但不存储
NO YES 这是不能被搜索的,它只是被搜索内容的附属物。如URL等
UN_TOKENIZED YES/NO 不被分词,它作为一个整体被搜索,搜一部分是搜不出来的
NO NO 没有这种用法
[b]问题补充:[/b]

Field.Index 这个字段是否用于创建index(只有创建了index 才能检索)

不能检索创建这个Field干什么啊?
不能保存创建这个Field干什么啊?
这样做的目地是为什么?

还有他们这既能保存又能Index这样数据量大了之后速度会很慢
[b]问题补充:[/b]
这些问题怎么解决啊??请教
[b]问题补充:[/b]
创建Index不存储是什么意思,能搜到吗
存储不创建Index又是什么意思,能搜到吗

我不明白啊?能解决一下嘛。。。谢谢了

  • 写回答

3条回答 默认 最新

  • ywbanm 2009-06-25 16:16
    关注

    Keyword,UnIndexed,UnStored,Text 这些是定义的一些统一的处理方式

    具体怎么处理的 看后面的Field.Store.YES, Field.Index.UN_TOKENIZED这些

    Field.Store 就是说这个字段是否需要存储(存储了 以后你就能显示出来 就像google的cache page)
    Field.Index 这个字段是否用于创建index(只有创建了index 才能检索)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作