sách gpt4 ai đã đi

Mẫu SOLR để xử lý các trường có nhiều giá trị với nhiều liên kết

In lại 作者:行者123 更新时间:2023-12-05 00:43:33 28 4
mua khóa gpt4 Nike

假设您有这样的文档:

doc1:
id:1
text: ...
references: Journal1, 2013, pag 123
references: Journal2, 2014, pag 345

doc2
id:2
text:...
references: Journal2, 2013, pag 678
references: Journal1, 2014, pag 901

如何构建我的架构以通过引用搜索文档?我的第一个假设是这样的:


1
...
Journal1
Journal2
2013
2014
123
456


2
...
Journal2
Journal1
2013
2014
678
901

但通过这种方式我无法强制第一个 ref_journal 字段连接到第一个 ref_year 字段,因此搜索 ref_journal:Journal1 AND ref_year:2013 将错误地匹配两个文档。有没有办法让多个“连接的”多值字段?

1 Câu trả lời

如果您只需要搜索精确值,一个棘手的解决方案是使用适当的分词器将多个属性连接到一个多值字段中。

像这样定义一个“ref”类型:







创建一个多值字段来存储引用:


像这样格式化数据:


1
...
journal:Journal1; year:2013 ; page:123
journal:Journal2; year:2014 ; page:456


2
...
journal:Journal2; year:2013; page:678;
journal:Journal1; year:2014; page:901;

使用邻近匹配进行搜索:

ref:"year:2014; journal:Journal2"~100

Để ý:

  • 你不能在数据中使用分号:如果你需要它,你必须找到另一个合适的分隔符。

  • positionIncrementGap 必须大于 ref 中可能的属性数,以避免跨不同字段的匹配。

  • 不能使用范围查询

这不是一个通用的解决方案,但在大多数情况下它就足够了,而且可能更容易实现。

关于用于处理多个连接的多值字段的 SOLR 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22245088/

28 4 0
Bài viết được đề xuất: tsql - 将表值函数应用于源表中某列的每个值
Bài viết được đề xuất: Flutter Doctor 在可执行文件中给出 Bad Cpu Type
Bài viết được đề xuất: gitlab - .gitlab-ci.yml yaml 中的数组变量
Bài viết được đề xuất: rest - RESTful 发布多个实体的策略
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com