问题标签 [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.
hibernate - Lucene:查找所有以特定前缀开头的单词
我想获取 Lucene 索引中以特定前缀开头的所有单词的列表。我一直在寻找一种方法来查询索引中的术语(我需要这些术语,我不关心它们来自的文档)但没有成功。有任何想法吗?
indexing - 用休眠搜索索引多对一关系的最佳方法是什么?
我有一个具有多对一映射的实体。(产品 1-* 区域,单向关联)
存储这种关系的索引的最佳方法是什么?
所以它可以很容易地用来过滤搜索查询。
java - Hibernate Search 可以通过用户可访问性来限制结果吗?
我正在使用休眠。我正在寻找一个免费的文本引擎。
在我调查之前,我需要你的经验。
我的应用程序中有用户、角色和对象表。用户与一个或多个角色相关联,而一个角色与一个或多个对象相关联。
在我的自由文本搜索中,用户只能访问对象表允许他观看的数据。
Hibernate 搜索可以帮助我吗?
java - Hibernate Search在主线程中同步执行
似乎 Hibernate Search 同步执行使用了除调用线程之外的其他线程进行并行执行。
如何在调用线程中串行执行 Hibernate Search 执行?
问题似乎出在org.hibernate.search.backend.impl.lucene.QueueProcessors
课堂上:
串行同步执行将发生在调用线程中,并将诸如身份验证信息之类的上下文信息暴露给底层 DirectoryProvider。
html-entities - 如何不使用 owasp antisamy 将特殊字符转换为 html 实体
我使用带有 Ebay 策略文件的 Owasp Anti samy 来防止对我的网站进行 XSS 攻击。
我还使用 Hibernate 搜索来索引我的对象。
当我使用此代码时:
如您所见,所有字符“é”都已转换为等效的 html 实体“ é
”
我的页面是 UTF-8,所以我不需要这种转换。此外,当我使用 Hibernate Search 对该文本进行索引时,它会使用 html 实体对单词进行索引,因此我在索引中找不到单词“été”。
如何强制 antisamy 不将特殊字符转换为等效的 html 实体?
谢谢
PS:一个问题已被打开:http ://code.google.com/p/owaspantisamy/issues/detail?id=99
java - JBoss AS 5.1 下的分页 JPA 查询的内存泄漏
我正在尝试将 Hibernate Search 集成到我目前正在从事的项目之一中。这种努力的第一步相当简单 - 使用 Hibernate Search(它在后台使用 Lucene)索引所有现有实体。映射到域模型中实体的许多表包含大量记录(> 100 万条),我使用简单的分页技术将它们拆分为更小的单元。但是,我在索引实体时遇到了一些内存泄漏。这是我的代码:
它只是一个简单的 MBean,我通过 JBoss 的 JMX 控制台手动执行它的init方法。当我在 JVisualVM 中监视该方法的执行时,我看到内存使用量不断增长,直到所有堆都被消耗,尽管发生了很多垃圾收集,但没有释放内存,这让我相信我在我的代码。但是,我无法发现有问题的代码,所以我希望您能帮助找到它。
问题当然不在于索引本身,因为即使没有它我也会泄漏,所以我认为我没有正确进行分页。然而,对我拥有的实体的唯一引用是列表实体,在循环调用indexUnit的每次迭代之后应该很容易地对它进行垃圾收集。
在此先感谢您的帮助。
编辑
将代码更改为
缓解了这个问题。泄漏仍然存在,但没有以前那么严重。我猜想 JPA 查询本身有问题,保留不应该的引用,但谁知道呢。
filter - 如何在休眠搜索中执行类似 SQL IN 的查询
一个模拟场景是:
搜索内容包含“成功”且作者在传递名称列表中的书籍(可能是数千个)。
我查看了过滤器: http: //docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#query-filter
像休眠搜索这样的接缝对此没有本机支持。
这个问题的推荐方法是什么?我想我并不孤单。
感谢您的任何意见。
java - 这个简单的 HQL 语法有什么问题?
您好我正在尝试执行这个简单的 HQL 查询以使用以下方法从我的数据库中获取文件列表:
但我不断收到此异常:
我的 hbm.xml 文件
java - Lucene 通配符匹配在化学符号上失败(?)
使用 Hibernate Search Annotations(大部分只是@Field(index = Index.TOKENIZED)
)我已经索引了一些与我的一个名为 Compound 的持久类相关的字段。我已经使用 对所有索引字段设置了文本搜索,MultiFieldQueryParser
到目前为止效果很好。
在索引和可搜索的字段中,有一个名为 CompoundName 的字段,其中包含示例值:
3-Hydroxyflavone
6,4'-Dihydroxyflavone
当我完全搜索这些值中的任何一个时,都会返回相关的 Compound 实例。但是,当我使用部分名称并引入通配符时会出现问题:
- 搜索
3-Hydroxyflav*
仍然给出正确的命中,但是 - 搜索
6,4'-Dihydroxyflav*
未能找到任何东西。
现在由于我对 Lucene / Hibernate-search 很陌生,我不太确定在哪里看这一点。我认为这可能与'
第二个查询中的当前有关,但我不知道如何继续.. 我应该完全研究 Tokenizers / Analyzers / QueryParsers 还是其他东西?
或者谁能告诉我如何让第二个通配符搜索匹配,最好不要破坏多字段搜索行为?
我正在使用 Hibernate-Search 3.1.0.GA 和 Lucene-core 2.9.3。
一些相关的代码位来说明我目前的方法:
索引 Compound 类的相关部分:
我目前如何搜索索引字段:
java - 使用同一个索引文件和 Hibernate Search 的两个应用程序
我想知道是否可以在两个应用程序中为实体使用相同的索引文件。让我更具体一点:
我们有一个用于用户前端的在线应用程序和一个用于后端任务的应用程序(= 管理员界面)。两者都在同一个 JBOSS AS 上运行。两个应用程序都使用相同的数据库,因此它们使用相同的实体。当然,实体的两个应用程序中的包名称并不相同。
所以这是我们的用例:用户应该能够通过 frondend 进行搜索。用户只能查看带有“可见”标签的结果。此标记发生在我们的管理界面中,因此每次在后端将实体标记为“可见”时,都应更新前端的索引。
当然,这两个应用程序确实具有相同的索引根文件夹。在我的索引文件夹中有 2 个索引文件:
de.xxadmin.model.Product de.xxfrondend.model.Product
如何通过休眠搜索配置“合并”这个?我只是没有通过文档得到它......
谢谢你的帮助!