我正在为客户构建一个交互式搜索服务,我们需要的部分就是能够为文档添加“标签”。这些标签既可以预先存在,也可以自定义。该架构已经设置为支持这一点,但我在使用Solarium PHP时遇到了更新结果集的问题。
例如,如果用户在我们的数据库中搜索“溢出”并返回1-1000 +结果,则他们需要能够使用任意数量的标记标记整个结果集。
所以我从execute()获取结果集,目前无法更改返回的文档 - 例外情况是“只读文档无法更改”。
任何人都有解决方法吗?
答案 0 :(得分:1)
对于可更新的文档,您应该使用此类: Solarium \ QueryType \ Update \ Query \ Document
Solarium使用此文档类型作为两个选择查询的默认值 原因:
在大多数情况下,不需要更新功能,因此它只会是 阻止使用Solr作为DB的开销,如在阅读中 - 改变 - 节省。几乎所有模式都有仅索引字段。有 无法读取那些字段的值,因此这些数据将丢失 什么时候重新保存文件!通常应该基于更新来完成更新 您的原始数据(即数据库)。如果你真的确定你想要的话 要更新Solr数据,可以将读写文档类设置为 选择查询的文档类型,更改文档并使用它们 在更新查询中。