问题标签 [hibernate-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3442 浏览

database - 如何使用 Lucene 最好地搜索数据库?

我正在研究针对我们的数据库提供更好搜索功能的机制。它目前是一个巨大的瓶颈(导致长期查询损害我们的数据库性能)。

我的老板想让我研究Solr,但仔细观察,似乎我们实际上想要某种与 Lucene 本身的数据库集成机制。

Lucene FAQ中,他们推荐使用Hibernate SearchCompassDBSight

作为我们当前技术堆栈的背景,我们在 Tomcat 上使用直接的 JSP,没有 Hibernate,在其之上没有其他框架……只是针对 DB2 数据库的直接 Java、JSP 和 JDBC。

鉴于此,似乎 Hibernate Search 可能更难以集成到我们的系统中,尽管在这样的集成之后选择使用 Hibernate 可能会很好。

有没有人可以分享使用这些工具之一(或其他类似的基于 Lucene 的解决方案)的经验,这可能有助于选择正确的工具?

它需要是一个 FOSS 解决方案,理想情况下,它将自动(尽管有效)使用来自数据库的更改来管理更新 Lucene,而无需额外努力在进行更改时通知工具(否则,滚动我自己的 Lucene 解决方案似乎只是一样好)。此外,我们有多个应用程序服务器,只有 1 个数据库(+故障转移),因此如果可以轻松无缝地使用来自所有应用程序服务器的解决方案,那就太好了。

我现在正在继续检查这些选项,但利用其他人的经验会非常有帮助。

0 投票
1 回答
1262 浏览

hibernate - nHibernate.Search 使用 nHibernate v2

我无法让 nHibernate.Search 创建索引。

如果我使用 nHibernate.dll 和 nHibernate.Search.dll 的 1.2.1.4,那么索引会正确创建,我可以使用 Luke(Lucene 实用程序)对其进行检查。创建一个段文件以及一个片段文件等

但是,当我使用 nHibernate.dll 和 nHibernate.Search.dll 的 v 2 时,索引没有正确创建。在 Index 目录中只创建了一个 1k 段文件,Luke 无法检查它。

我在 v1 中使用的代码如下:

我在配置文件中有以下内容

在版本 2 中没有 SearchFactory。我能找到的唯一类似的东西是

所以我设置了如下配置

这创建了索引的基本框架,但 Luke 看不到它 - 这告诉我它已损坏

我还使用以下代码尝试手动创建索引,但同样它只创建段文件,没有别的

所以我的问题是 - 如果我想使用 nHibernate.Search,我是否必须使用 v1.1.4 的 nHibernate?或者我可以使用 v2 吗?在这种情况下我做错了什么?

网上关于这方面的内容很少。

任何人?

0 投票
1 回答
586 浏览

hibernate - StaticAliasToBeanResultTransformer

我正在使用休眠搜索 1.1。我想应用 ResultTransformer 操作后查询来匹配目标数据结构。

但我无法在休眠搜索jar 中找到该类(StaticAliasToBeanResultTransformer)。我在哪里可以找到这门课?

谢谢,

0 投票
2 回答
1183 浏览

java - 兵马俑和休眠搜索

有没有人有使用带有 Hibernate Search 的 Terracotta 来满足应用程序查询的经验?

如果是这样的话:

  1. 它可以处理多大的“对象更新”?(表现如何)

  2. 查询有什么样的表现?

  3. 是否可以使用 Terracotta Hibernate Search 甚至没有后备数据库来满足内存中的所有“查询”?
0 投票
3 回答
794 浏览

hibernate - 异步搜索

我目前正在使用 Lucene 和 Hibernate Search 为我的公司构建概念验证搜索解决方案。我已经构建了可以正常工作的单个组件。我现在正在考虑创建一个单一的 API,允许用户从不同的来源(域 + 数据)获取搜索结果。我想要实现的是像搜索管理器异步触发搜索请求到不同的搜索组件,当一组结果被处理后,在处理其余结果时将该结果返回给用户。处理完搜索结果后,通知客户端还有更多可用的搜索结果。

我想知道我是否有一个搜索管理器,它创建单独的线程来搜索单个搜索组件并保留搜索结果列表。一旦列表填充了一组,就将其返回给用户。添加的任何其他搜索结果都将涉及搜索管理器将结果推送给用户。

我不是在寻找任何代码示例(任何将不胜感激),但我想知道是否可以就如何解决这个问题获得一些指导。我是使用事件处理技术(GigaSpaces、Spring、JMS)还是使用标准 Java 并发库。管理列表和推送更新结果的有效方法是什么。

干杯

0 投票
3 回答
14038 浏览

java - 在 Hibernate Search 中索引数据

我刚刚开始将 Hibernate Search 与我的 Hibernate 应用程序集成。每次我启动服务器时,都会使用 Hibernate Session 对数据进行索引。

这很尴尬,服务器需要 10 分钟才能启动。我是否以正确的方式做这件事?

我写了一个调度器,它会定期更新索引。这会自动更新现有的索引条目,还是创建重复的索引?

0 投票
2 回答
1252 浏览

java - 用于 Hibernate Search 中时间戳的 FieldBridge

HIbernate Search 中时间戳的 FieldBridge 是什么?

@场地

公共 java.sql.Timestamp 批准日期;

0 投票
3 回答
2937 浏览

hibernate - Lucene 布尔查询

如何在 Lucene Search 中将 booleanQuery 与 StandardAnalyzer 一起使用?

0 投票
2 回答
2745 浏览

java - Lucene 中的查询

表“testtable”的结构是

  1. id int 主键

  2. 产品编号

  3. 属性 int

  4. 值 varchar(250)

其中 productid 是产品的唯一 ID,attributeid 是产品属性的唯一 ID,例如尺寸、质量、高度、颜色,“值”是属性的值

我必须过滤结果。我通过这个查询实现了要求。但我无法在查询中完成。

需要帮助来构建此查询..

0 投票
1 回答
899 浏览

hibernate - 如果我索引相同的数据,为什么 lucene 索引的大小会增加?

我在我的应用程序中实现了 Hibernate Search,即基于 Lucene。每当我索引数据库时,lucene 索引的大小都会增加。但是,查询的结果每次都返回相同的结果。

如果我每次索引相同的数据,为什么 lucene 的大小每次都会增加?