我正在尝试弄清楚如何存储和搜索数据对。我有一个与下面类似的文档,我的目标是执行一个搜索,返回具有给定专业的所有文档,然后根据匹配的专业能力对结果进行排序:
<doc>
<id>123</id>
<firstName>Joe</firstName>
<lastName>Bloggs</lastName>
<specialties>
<specialty>
<type>Foo</type>
<ability>1</ability>
</specialty>
<specialty>
<type>Bar</type>
<ability>2</ability>
</specialty>
<specialty>
<type>Baz</type>
<ability>2</ability>
</specialty>
</specialties>
</doc>我很熟悉对简单文档进行索引、搜索和分面,但我甚至在努力寻找一个这样的起点=(
我应该简单地使用两个集合并连接吗?
发布于 2013-04-11 07:05:50
如果专业的数量是有限的,并且事先已知,您可以尝试以下操作。
不需要两个字段来存储专业知识和能力,只需要一个包含"ability_of_a_specialty"的字段
例如,
<specialties>
<Foo_ability> 1 </Foo_ability>
<Bar_ability> 2 </Bar_ability>
<Dummy_ability> 0 </Dummy_ability>
...
</specialties>现在,将上述属性转换为Lucene文档应该很简单。
https://stackoverflow.com/questions/15924857
复制相似问题