SOLR搜索阵列与单个文档

时间:2013-06-18 03:59:55

标签: solr solrj

我有一个商业案例,我需要检查搜索查询是否与显示业务相关

eg: q="night clubs new york"

我在我的数据库中有一个国家,州和城市的列表,有300万条记录,我有一份商业类别列表。

我想要做的就是检查查询中是否有商业类别(夜总会),并且它是否有城市,州或国家的名称(纽约)。所以我正在检查为以下查询重新调整的结果数。如果我得到2个numResults,那么这是一个业务查询,然后我查询我的Solr索引来搜索业务。

query: places_ss:(night clubs new york) OR categories_ss:(night clubs new york)

速度问题:如何保存SOLR中的城市,州和国家/地区列表以获得最高搜索速度?

  • 拥有一个文档ID:在数组places_ss
  • 中添加和添加不同的城市,州和国家/地区
  • 在阵列中的每个文档中有多个具有不同ID的文档,其中100,000个地名。 ?
  • 有一个文档或多个文档,其中place_s字符串(不是数组)每个地方用空格分隔,每个空格用下划线分隔,例如:new york成为new_york。 在查询期间,我将获得纽约夜总会的多种组合

    例如:night night_clubs night_clubs_new night_clubs_new_york clubs_new clubs_new_york new_york york并查询地点。

为上述文件提供单独的核心以提高速度是不是一个好主意?

这是一个很好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

文档组织: 最好有一个文件approche:  - 地点   - 活动   - 需要其他的东西!

位置 你应该像这样保存你的位置 国家:州:城市:郊区....所以你可以在美国进行搜索:纽约:纽约* of :new york

不需要_ 避免这种情况,没有必要!

<强>活性 活动应存储在另一个字段中,以便精确搜索和加速。