我有一个超过数百万个全文文档的 SOLR 索引。这很好用。到现在为止还挺好。
用户可以在文件夹或集合中组织这些文档。我希望能够将搜索限制在某个文件夹(或多个文件夹),而不必为每个文件夹创建索引。不同的用途可以将文档存储在不同的文件夹中,它更像是一个标签而不是一个位置。
我计划通过为存储文档的文件夹(或集合)ID 添加一个多值字段来做到这一点。
这是使用 SOLR 的“有效”方式还是我遗漏了什么?另外,我会遇到关于多值字段中项目数量的限制吗?任何直接支持集合的替代搜索引擎也将不胜感激。
我有一个超过数百万个全文文档的 SOLR 索引。这很好用。到现在为止还挺好。
用户可以在文件夹或集合中组织这些文档。我希望能够将搜索限制在某个文件夹(或多个文件夹),而不必为每个文件夹创建索引。不同的用途可以将文档存储在不同的文件夹中,它更像是一个标签而不是一个位置。
我计划通过为存储文档的文件夹(或集合)ID 添加一个多值字段来做到这一点。
这是使用 SOLR 的“有效”方式还是我遗漏了什么?另外,我会遇到关于多值字段中项目数量的限制吗?任何直接支持集合的替代搜索引擎也将不胜感激。
目前尚不清楚该信息是否针对每个用户。如果您需要每个用户的文件夹信息(也就是说,如果用户 A 将文档 D 设置在文件夹 F 中,用户 B 在文件夹 F 中查找文档将找不到它),那么您需要存储一些与用户相关的信息也。
我建议使用一些名为 user_A、user_B 等的动态字段,然后在适当的用户字段中设置文件夹信息。
编辑:好的,那么马克的回复是好的。只要记住在 fq 中使用“集合”,它就会被缓存并在其他查询中重用。
给定文档所属目录的绝对路径有一个多值字符串字段。例如,一个文档可能属于documents/reports/fin/2012
和johns_stuff/to_read
。
一些查询:
documents/reports/fin/2012 <-- belongs to a specific directory
documents/reports/fin* <--any subdirectory of this directory