2017-06-05 33 views
0

我在Moqui中使用ElasticSearch。 DataDocument和Feed文档已设置,一切正常。除了重新启动服务器的情况。我需要运行org.moqui.search.SearchServices.index#DataFeedDocuments服务。这是否意味着索引存储在内存中?我必须通过运行服务来恢复它们?索引文件 - 我必须运行刷新索引服务来维护索引吗?

我还为MantleProduct设置了Real-time Service Push [DTFDTP_RT_PUSH]服务。当个人实体被修改时,这项服务是否只关心刷新?

回答

0

是的,实时推送DataFeed仅用于此目的,即基于与DataFeed关联的DataDocument定义生成新的'文档'(JSON文档,尽管是内部嵌套的Map和List对象),并调用与DataFeed一起提供服务。然后,索引服务将这些索引服务提取并在ElasticSearch中将它们编入索引。其他服务可用于不同的事情,例如发送通知。

除非您删除其文件,否则索引文件将保留在ElasticSearch中。如果以重新启动服务器的方式删除ElasticSearch文件,则必须使用系统应用程序中的“数据文档索引”屏幕来告诉它根据数据库记录重新索引所有文档。

+0

它运作良好,感谢您的指导。我是否有机会指定服务要索引哪些文档?我可以看到IndexData#DataFeedDocuments服务接受** fromUpdateStamp **和** thruUpdateStamp **参数,这些参数用于过滤documentList。但我找不到如何设置这两个方法。 – mrovnanik

+0

在文档中(使用Moqui制作应用程序)有一个使用** HiveMind.SearchServices.indexAndNotify#HiveMindDocuments **服务的示例。这是要走的路吗? – mrovnanik