搜索多个索引

安德鲁·科托夫(Andrew Kotov)

我的数据库中有三张表

组织
| 身份证 | 姓名 | 属性_1 | 属性_2 |

文件
| 身份证 | org_id | 内容 |


| 身份证 | org_id | 姓名 | 状态 |

组织文档之间的关系是 1:1。组织可能只有一份文件。

组织人的关系是1:n。组织可能有很多人。

文档大约有 12 000 000 条记录,占用的磁盘空间超过 500 Gb。表中的记录永远不会改变。

组织有大约 30 000 000 条记录,但在磁盘上仅占用 8 Gb。表中的记录经常变化,所以我需要完全重新索引。

这是我的指数:

source organization {
        sql_query = select * from organization
        sql_attr_string attribute_1
        sql_attr_string attribute_2
}

source document {
        sql_query = select * from document
        sql_attr_uint org_id
}

source person {
        sql_query = select * from person
        sql_attr_uint org_id
        sql_attr_uint status
}

典型的请求如下所示:

查找名称中包含“Acme”、文档中包含“破产”且人员名为“John”的前 100 个组织。

我怎样才能做到这一点?

PS我使用Sphinx API,但我可以切换到SphinxQL

巴里亨特

好吧,Sphinx 本身不能在索引之间进行 JOIN。它唯一的多索引功能是执行 UNION 样式的查询。

...所以要做到这一点需要建立一个“预先加入”的索引。单个索引组合了来自所有三个索引的数据。因此可以以任意组合进行搜索。

sql_query只是一个任意的数据库查询,大多数数据库引擎都支持连接,所以可以在那里进行 JOIN。由于查询可能会很昂贵,因此可以使用远程查询对其进行分解。http://sphinxsearch.com/docs/current.html#ex-ranged-queries

Sphinx 确实有 GROUP BY,因此可以按组织或文档进行分组,如果只需要一行。(因为索引可能包含多行,因为多人

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

搜索多个索引

来自分类Dev

搜索多个plone网站索引

来自分类Dev

Algolia 搜索多个索引 IOS

来自分类Dev

跨多个索引的 MySQL 搜索

来自分类Dev

App Engine搜索:如何并行搜索多个搜索索引?

来自分类Dev

使用NEST搜索多个Elasticsearch索引

来自分类Dev

Algolia:在 Laravel 中搜索多个索引

来自分类Dev

Azure 搜索:跨多个索引和/或搜索服务聚合结果

来自分类Dev

跨多个索引的Elasticsearch搜索-忽略不存在的索引

来自分类Dev

Azure 搜索中单个索引的多个索引器?

来自分类常见问题

弹性搜索索引上的多个分析器

来自分类Dev

如何在JavaScript数组中搜索相同值的多个索引

来自分类Dev

numpy搜索数组以获取多个值,并返回其索引

来自分类Dev

加快IF / ELIF搜索多个列表中的索引的速度?

来自分类Dev

弹性搜索索引上的多个分析器

来自分类Dev

使用多个关键字进行Hibernate Search的索引搜索

来自分类Dev

在Elasticsearch中跨多个索引的自动完成和模糊搜索

来自分类Dev

索引匹配使用多个搜索条件查找最接近的值

来自分类Dev

弹性搜索索引数据中的多个字段

来自分类Dev

如何在 Azure 搜索的主记录下索引多个 Blob?

来自分类Dev

使用Sphinx通过PHP脚本从多个索引中搜索特定索引

来自分类Dev

以编程方式将多个字符插入Bing搜索引擎,并对每个字符执行搜索

来自分类Dev

多个索引搜索的功能帮助-尝试在一个范围内向上或向下取整

来自分类Dev

我应该添加多个二级索引进行搜索吗

来自分类Dev

虚拟商务是否支持多个弹性搜索工作者角色,并共享索引数据

来自分类Dev

ElasticSearch:如何在一个或多个索引的所有类型的任何字段中搜索值?

来自分类Dev

在多个索引上搜索给出错误的total_found结果(Sphinx 2.X)

来自分类Dev

在特定约束下在Matlab中搜索多个2D矩阵的公共索引

来自分类Dev

如何获得一个hstore查询,该查询搜索多个术语以使用索引?

Related 相关文章

  1. 1

    搜索多个索引

  2. 2

    搜索多个plone网站索引

  3. 3

    Algolia 搜索多个索引 IOS

  4. 4

    跨多个索引的 MySQL 搜索

  5. 5

    App Engine搜索:如何并行搜索多个搜索索引?

  6. 6

    使用NEST搜索多个Elasticsearch索引

  7. 7

    Algolia:在 Laravel 中搜索多个索引

  8. 8

    Azure 搜索:跨多个索引和/或搜索服务聚合结果

  9. 9

    跨多个索引的Elasticsearch搜索-忽略不存在的索引

  10. 10

    Azure 搜索中单个索引的多个索引器?

  11. 11

    弹性搜索索引上的多个分析器

  12. 12

    如何在JavaScript数组中搜索相同值的多个索引

  13. 13

    numpy搜索数组以获取多个值,并返回其索引

  14. 14

    加快IF / ELIF搜索多个列表中的索引的速度?

  15. 15

    弹性搜索索引上的多个分析器

  16. 16

    使用多个关键字进行Hibernate Search的索引搜索

  17. 17

    在Elasticsearch中跨多个索引的自动完成和模糊搜索

  18. 18

    索引匹配使用多个搜索条件查找最接近的值

  19. 19

    弹性搜索索引数据中的多个字段

  20. 20

    如何在 Azure 搜索的主记录下索引多个 Blob?

  21. 21

    使用Sphinx通过PHP脚本从多个索引中搜索特定索引

  22. 22

    以编程方式将多个字符插入Bing搜索引擎,并对每个字符执行搜索

  23. 23

    多个索引搜索的功能帮助-尝试在一个范围内向上或向下取整

  24. 24

    我应该添加多个二级索引进行搜索吗

  25. 25

    虚拟商务是否支持多个弹性搜索工作者角色,并共享索引数据

  26. 26

    ElasticSearch:如何在一个或多个索引的所有类型的任何字段中搜索值?

  27. 27

    在多个索引上搜索给出错误的total_found结果(Sphinx 2.X)

  28. 28

    在特定约束下在Matlab中搜索多个2D矩阵的公共索引

  29. 29

    如何获得一个hstore查询,该查询搜索多个术语以使用索引?

热门标签

归档