我正在使用 Apache Solr 6.3.0 和 MongoDB 3.4 来实现advance text search
功能。我已成功synced mongodb with solr cores
使用 mongo-connector 2.5 和 solr doc manager 。
我想知道right way and practices to use solr with mongo
,我有一些需要帮助的问题:
1)即可。现在我的data is available both in mongo database and also indexed and stored in Solr cores
,我现在应该query Solr all the time
吗?或者我应该只query solr for text search
并在mongo上执行rest of the queries
吗?
2)即可。有没有办法可以执行强大的search directly on mongo database using the indexing done by Solr
?
第3)即可。我有一些包含deeply nested json data
的集合,MongoDb支持它们。在indexes and stores
中解问flattened form
这样的数据。但是,我想在maintain the original nested json format
中query response
。这是我用Solr可以实现的吗?
使用带有mongoDb的solr的其他suggestions about good practices
将非常有帮助。
答案 0 :(得分:1)
如果仅查询Solr是有意义的,那就这样做。如果查询Solr某些数据是有意义的,那就这样做吧。这取决于您的使用案例,但如果可以使用Solr中的数据回答任何查询,那么将其用于所有内容就完全没问题了。这可能会更有效地使用您的缓存。
不,不是我知道的。
不是真的。 Solr不适合嵌套的JSON(即使您有父/子文档,它也是您在任何情况下都需要手动处理的东西,并且需要特殊的外壳)。
在这些情况下,您可以使用Solr进行查询,获取ID,然后从mongo中检索实际文档,其JSON结构完好无损。在这种情况下,您可以将大部分字段保留为未存储在Solr中。