在 lucene 索引中的多个字段中重新索引相同的值会产生什么影响?
这个想法是,某人的名字是他们的名字和一般详细信息的一部分。所以我想将该值索引到多个字段中。 Ted Bloggs 我可能会索引如下:
Field | Value
-------------|---------
firstName | Ted
lastName | Blogs
name | Ted
name | Bloggs
general | Ted
general | Bloggs
all | Ted
all | Bloggs
通过这样做,我可以轻松地形成字段类别,但我担心它可能会对性能和/或磁盘使用产生不利影响。
有人可以建议吗
@aishwarya 是对的,但要进一步扩展它:
From the docs http://lucene.apache.org/java/3_0_0/fileformats.html:
该文件按术语排序。术语首先按术语的字段名称按字典顺序(按 UTF16 字符代码)排序,然后在术语内部按术语文本按字典顺序(按 UTF16 字符代码)排序。
每个字段将存储该术语一次,因此如果您重复每个术语五次,您的存储空间将增加五倍。然而,术语 dic 的大小相对于原始数据的大小是对数的,所以我怀疑你会遇到问题。
性能损失将不存在(Lucene 缓存每个字段开始的位置),除非拥有更多数据会迫使内存溢出。对于大多数搜索基础设施,您的索引可能小于几 GB,无论如何都可以轻松放入内存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)