Hibernate搜索(商店和索引)

Fra*_*eth 2 java hibernate-search

@Field上index = Index.YES和store = Store.YES的内涵是什么?最后(当执行搜索时)是否会从数据库加载此数据(搜索索引并从数据库加载结果)?为什么我也要将数据存储在索引中呢?

或者我的理解错了吗?

Fra*_*eth 5

store:描述属性是否存储在Lucene索引中.您可以存储值Store.YES(在索引中占用更多空间但允许投影,有关详细信息,请参见第6.1.2.5节"投影"),以压缩方式存储Store.COMPRESS(这会占用更多CPU),或者避免任何存储Store.NO(这是默认值).存储属性时,可以从Lucene文档中检索它(请注意,这与元素是否已编制索引无关).

index:描述元素的索引方式(即用于索引属性和信息存储类型的过程).不同的值是Index.NO(没有索引,即查询无法找到),Index.TOKENIZED(使用分析器处理属性),Index.UN_TOKENISED(没有分析器预处理),Index.NO_NORM(不要存储规范化数据).默认值为TOKENIZED.

根据:http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/4.2/html/Hibernate_Search_Reference_Guide/Hibernate_Search-Mapping.html

  • 将值存储在索引中也是排序查询结果所必需的. (2认同)
  • @mdma无需存储仅用于排序,https://forum.hibernate.org/viewtopic.php?f = 9&t = 999211&view = next#p2417036. (2认同)