使用MySQL的Solr索引结构

时间:2015-07-14 11:46:56

标签: mysql solr

我的应用程序中有三到五个搜索字段,并计划将其与Apache Solr集成。我试着用一张桌子做单调,并且工作正常。这是我的问题。

  1. 我们可以在同一个核心中创建索引多个表吗?或者我应该为每个索引创建单独的核心(我猜这个概念是错误的)。

  2. 假设我有4个表用户,职业,教育和位置。我在php页面中有两个搜索框,其中一个是搜索简单的位置(就像一个自动完成框),另一个是搜索一个应该检查表职业和教育的关键字。如果在单核下可能有多个索引;  2.1我们如何在这里定义查询?  2.2我们可以在查询中指定索引名称(如mysql中的表名)吗?

  3. 可以回答我关注的链接就足够了。

1 个答案:

答案 0 :(得分:1)

如果您希望将同一数据作为同一请求的一部分进行查询,例如同时自动完成用户,教育和位置,则可能将它们编入同一核心索引。

术语“核心”可能与您的使用中的术语“索引”相同,并且通常通过具有指示文档类型的字段(然后应用文档)来实现在同一索引中具有多组数据。如果您想获取只有一种类型的文档,例如fq=type:location,请过滤查询。您也可以使用the grouping feature of Solr为每个查询获取单独的文档结果集。

如果您只是单独查询数据,那么将它们放在单独的索引中可能是要走的路,因为在这种情况下,您将能够独立于每个索引进行扩展和执行分析和调优(以及避免必须始终使用过滤器查询来获取您正在寻找的内容类型。

指定索引名称与指定核心名称相同,并且是Solr的URL的一部分:http://localhost:8983/solr/index1/http://localhost:8983/solr/index2/