日光浴 - 需要更新只读结果集

时间:2016-04-25 15:19:13

标签: php solr solarium

我正在为客户构建一个交互式搜索服务,我们需要的部分就是能够为文档添加“标签”。这些标签既可以预先存在,也可以自定义。该架构已经设置为支持这一点,但我在使用Solarium PHP时遇到了更新结果集的问题。

例如,如果用户在我们的数据库中搜索“溢出”并返回1-1000 +结果,则他们需要能够使用任意数量的标记标记整个结果集。

所以我从execute()获取结果集,目前无法更改返回的文档 - 例外情况是“只读文档无法更改”。

任何人都有解决方法吗?

1 个答案:

答案 0 :(得分:1)

对于可更新的文档,您应该使用此类: Solarium \ QueryType \ Update \ Query \ Document

  

Solarium使用此文档类型作为两个选择查询的默认值   原因:

     

在大多数情况下,不需要更新功能,因此它只会是   阻止使用Solr作为DB的开销,如在阅读中 -   改变 - 节省。几乎所有模式都有仅索引字段。有   无法读取那些字段的值,因此这些数据将丢失   什么时候重新保存文件!通常应该基于更新来完成更新   您的原始数据(即数据库)。如果你真的确定你想要的话   要更新Solr数据,可以将读写文档类设置为   选择查询的文档类型,更改文档并使用它们   在更新查询中。

http://solarium.readthedocs.org/en/stable/documents/