【问题标题】:SOLR search array vs individual documentsSOLR 搜索数组与单个文档
【发布时间】:2013-06-18 03:59:55
【问题描述】:

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

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 并在数组 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 并查询地点。

为上述位置的文档设置一个单独的核心以提高速度是个好主意吗?

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

【问题讨论】:

    标签: solr solrj


    【解决方案1】:

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

    位置 你应该像这样保存你的位置 Country:state:city:suburb.... 这样你就可以在 usa:new york:new york* ::纽约

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

    活动 活动应存储在另一个字段中,以确保搜索和速度的精确性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多