【发布时间】:2014-06-30 18:01:33
【问题描述】:
所以我需要搜索一个盒子数据库。每个盒子可以包含多个项目。每个框都有一个一般描述,每个项目都有一个描述以及一些描述符/值对(即,大小:大)。我希望能够使用一组类似的信息来搜索这个数据库——我正在寻找一个像 x 这样的盒子,里面有 a、b 和 c 项。返回包含最相似项目的框。
但是,我对如何在 Lucene 中索引这些数据感到困惑。我知道我可以通过覆盖分析器的 getPositionIncrement() 方法将多个值索引到单个字段,但是如何将描述符链接到特定项目?例如,我的盒子里可能有 2 件物品:
Item 1
description: pair of shoes
color: blue
Item 2
description: Jacket
color: red
然后我搜索
Item A
description: pair of shoes
color: red
Item B
description: Jacket
color: blue
据我所知,它将返回包含项目 1 和 2 的框作为匹配项。但我希望颜色仅适用于该特定项目,并且我需要能够搜索一个框以同时匹配多个项目以找到最相似的框。
我使用 Lucene 的原因是因为这是一个定期发生的常规搜索作业,但它不是实时的,因此不需要像 Solr 这样的搜索服务器,因为搜索只发生在狭窄的窗口中。
【问题讨论】:
标签: search lucene full-text-search search-engine