【问题标题】:Advise needed from experienced solr programmer to create solr index需要经验丰富的 solr 程序员创建 solr 索引的建议
【发布时间】:2014-02-10 16:44:13
【问题描述】:

使用 solr 的 dataimporthandler 为文本框制作 jquery 自动完成。

我想查询“产品”表中的所有产品。 “功能”表有一个外键。一个产品可能有也可能没有一个或多个功能。

我想要一个字段中的产品名称(比如“产品”),以及与之相关的所有功能。每个产品将在一个用逗号分隔的多值字段中具有特征。

我想这样做是为了使索引更小,从而使搜索更快。

而不是:

产品1 -> 功能1

产品1 -> 功能2

产品1 -> 功能3

产品1 -> 功能4

(包含两个字段的文档)

它将是:

product1 -> [功能1,功能2,功能3,功能4]

这种方法将使索引包含更少的文档。我觉得它会提供快速的搜索结果。不过,这将导致客户端需要进行一些工作来拆分字段并更新文本框。

我能看到的唯一缺点是,对于 Ngram,特征字段有时会很大。

还有什么 SQL 查询会为此创建文档?是否有可用于在不同特征之间插入逗号分隔符的过滤器?

【问题讨论】:

  • 您有任何示例文档、架构代码可以作为起点分享吗?
  • 我还没有真正开始实施解决方案,但因为我想首先知道哪种方法是最好的方法,以及是否有人能看到使用这种方法的任何缺点。

标签: solr indexing dataimporthandler


【解决方案1】:

老实说,我不明白 sql 是如何落入这种境地的,但你最终应该在 solr 中使用类似的东西

{Document1{product:ProductName,features:{[feature1,feature2,feature3,...]}}}

它是非正式的 json,但这就是它在 solr 中的样子。您可以通过 /select 处理程序上的查询来检索它,例如:

/select?q*:*&fq=product:ProductName or something of the sort.

【讨论】:

  • 谢谢! sql 在 dataimporthandler 中用于从数据库创建文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多