java - Lucene 从网络请求中写入

标签 java ajax servlets web lucene

我正在寻求为我正在开发的网络应用程序实现 Lucene,我或多或少正在寻找“最佳实践”。

我想要实现的是让网络请求进入(通过 ajax post)并向我的 lucene 索引添加一个包含发布信息的文档.

但是,我不确定的是: 我可以在 Web 请求的上下文中运行 lucene 还是需要单独运行它并将我的请求写入一个文件夹(单独的 lucene 将监视和加载该文件夹)基于文件的文档)

我一直在研究如何实现这一点,但我没有找到很多/任何结果,所以我想我完全离开这里。

最佳答案

我认为这里的决定因素只是您希望用户(或 ajax 客户端)看到什么样的响应时间,以及您是否要保证当请求完成时文档实际上已经被添加。也就是说,将文档添加到 Lucene 索引通常相对较快(少于几毫秒并不罕见),除非您有极其严格的时间要求,否则您可以在 Web 请求的上下文中执行此操作。当然,索引速度将取决于文档大小以及标记化和分析的复杂性。

(如果请求只是将文档排队等待以后索引,那么当响应返回时,客户端无法确定它是否已被索引。您将不得不想出一些其他方法让客户端知道何时文档已编入索引,或者索引时出现错误,如果他们关心的话。)

您可能需要考虑的一件事是定期优化索引以保持较小的空间需求和快速查询。优化可能需要很长时间,因此您不想在每次添加后都进行优化,并且您可能不希望在 Web 请求的上下文中进行优化。

关于java - Lucene 从网络请求中写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28926511/

相关文章:

java - 当服务器超时时,如何使weblogic中经过身份验证的 session 失效?

tomcat - web.xml 中的多个安全约束不起作用

java - 文件池(如连接池)

jquery - 在Grails 2.2.3和2.3.11之间更改JSON/XML默认响应格式

java - 无法解析为变量exportStr

ajax - 通过 apache mod_proxy 路由 node.js 请求 : performance?

javascript - Ajax 调用未响应重复请求

java - Google App Engine Java 上的 UncaughtExceptionHandler

java - 平均值计算器 [舍入问题]

java - Java中字节数组的位移位操作