基本的Solr查询&数据结构

时间:2016-05-08 19:41:07

标签: mysql solr

我需要使用Solr进行非常快速的演示,我有一个MySql数据库,其中包含37k在线产品记录(如gmail,google analytic),其中包含姓名,描述和关键字等信息。

我设法存储了像这个结构的数据

{        
    "keywords":"[\"music-streaming,streaming,internet-radio,audio-scrobbling\"]",
    "description":"Last.fm is a music community website that offers personalized internet radio, using a recommendation system called \"Audioscrobbler\" to build a detailed profile of users based on their music tastes and interests. The service...",
    "operatingSystem":"[\"Mac,Windows,Linux,Web/Cloud,Android,iPhone,WindowsPhone,KindleFire\"]",
    "meta":"[\"Freemium\", \"Mac\", \"Windows\", \"Linux\", \"Web/Cloud\", \"Android\", \"iPhone\", \"...\", \"WindowsPhone\", \"KindleFire\"]",
    "name":"Last.fm",
    "id":39145,
    "category":"audio-and-music"}
元&操作系统是JSON数组,其余字段是文本字段。

我需要帮助三件事

  1. 此数据结构(架构)在结构,搜索和索引方面是否良好?
  2. 我想构建一个查询,其中显示基于关键字的相关产品?
  3. 如何将字段元和操作系统转换为过滤器而不是搜索关键字?
  4. 我的最终目标是设置一个搜索栏,用户可以在其中键入特定关键字,然后根据操作系统和元素进行过滤

1 个答案:

答案 0 :(得分:0)

具有多个值的字段应该在多值字段中作为单独的术语编制索引,以便您可以查询/过滤具有特定值的字段。即将该字段编入“Mac'”,“Windows'”,“Linux' Linux' Web / Cloud'等等,而不是嵌入了所有值的单个值。

根据您的具体要求,可以使用MoreLikeThis组件找到类似/相关的文档。

如果字段已正确多值(按原样),您可以generate a Facet on the field进行过滤(然后使用fq相应地过滤结果集。)