我将开发和发布具有以下限制的应用程序:
- 该应用程序包含太多文档(书页),必须由全文搜索引擎进行搜索。
- 我想使用 Lucene 的最新版本作为搜索引擎,因为在版本7中添加了它的新功能,因此我需要它们。
- 该应用程序必须使用 c ++ 编写。
- 我想使用 Elastic 与Lucene通信,因为Lucene在Java中,而我的程序在C ++中。
- 该应用程序必须在离线下工作,因此我必须与该应用程序一起发布索引数据。
- 由于书籍的版权,必须对文档的文本进行保护,以便所有人阅读。所以我将其存储在加密的sqlite数据库中。
如果我将文本存储在索引中,可能会被盗,从而破坏版权。
如果我不存储文本,则无法从Elastic中检索突出显示的片段。
所以我需要Elastic中的以下功能之一:
- 保护存储在文件系统中的索引数据
- 突出显示未存储但在请求中传递的文本。在这种情况下,我可以从加密的数据库中获取文档文本,并将其传递给elastic以便突出显示每个搜索结果。
我在Elastic上搜索了上述功能,但没有找到任何东西。 :(