问题标签 [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 投票
1 回答
859 浏览

hibernate - 使用 PlayFramework Search / Hibernate Search 进行复杂的全文搜索

假设只有两种类型的模型对象。

标签文章

文章可以有可变数量的标签,以及包含文章正文的大文本字段。

如何对与我定义的一组标签匹配的文章执行有效的全文搜索?例如,在 100 万篇文章中,对于 1) 匹配 body:business* 和 2) 标记为“America”、“Economy”而不标记为“亚洲”?

我能够分别有效地执行 1)(使用 HQL 或普通旧 SQL)和 2)(使用 lucene 查询),但不能同时执行。有人有什么想法吗?

0 投票
1 回答
1463 浏览

hibernate - Hibernate Search,过滤掉值最高的对象

嗨,我有一个像这样的 EntityObject

我想添加一个过滤器,过滤掉所有具有相同名称的对象的最高版本的对象。任何人都知道如何使用过滤器或在创建查询时执行此操作?

我使用休眠搜索版本 3.3.0。

//三连

0 投票
1 回答
618 浏览

hibernate - Hibernate Search 3.3 - 忽略 IntraWord 空格

我在我的应用程序中使用休眠搜索 3.3。

我的搜索表单有文本字段、下拉列表、列表框等。我必须对单词、数字和日期进行搜索。基本上是多字段搜索。

我的问题是我无法对带有单词内空格的单词执行搜索。

例如:列表框有一组允许多选的员工姓名。因此,在我的 Java 层中,我将获取数组中的值,例如 - [Ankita Murthy, Ahana Gupta, Archita Patel]
现在,我必须用逗号分隔这些名称,并将这些名称与数据库中的employee_name 列进行匹配并检索结果。由于字内空白,匹配失败。

我做了一些研究,发现我们可以改变分析器来实现这一点,但我无法理解。

还指导我更改分析器以使它们忽略大写/小写

0 投票
1 回答
247 浏览

indexing - 对于 hibernate-search 3.4.0,MassIndexer 之后的文件数非常大

我使用 MassIndexer 进行索引。从 3.2.1 迁移到 Hibernate-search 3.4 之后。文件的最终数量确实非常庞大(带有 .cfs 扩展名)。之前还好。同时迁移到 lucene-core 3.1.0

拜托,有人能解释一下为什么会这样吗?

坦克前进!

阿尔乔姆

0 投票
1 回答
3336 浏览

hibernate - 在休眠搜索中指定索引文件的位置

大家好,我正在使用休眠搜索,我现在想指定索引文件的位置,我正在通过以下方式在项目内部进行索引:

但我想知道如何将索引指定到我尝试过的应用程序之外的位置

但它没有用,有什么想法吗?

0 投票
6 回答
14572 浏览

hibernate - Solr vs Hibernate Search - 选择哪个以及何时?

我们正在构建一个电子商务应用程序。我们正在使用带有 Hibernate 和 Spring Framework 的 JAVA 堆栈。与所有电子商务应用程序一样,我们需要在我们的应用程序中构建搜索功能。

因此,我们遇到了Hibernate SearchApache Solr。有人可以列出两者的优缺点,以便我们为企业搜索选择理想的解决方案吗?

0 投票
6 回答
5270 浏览

java - Hibernate Search、Lucene 或任何其他替代方案?

我有一个查询正在对表的一些 11 个字符串或文本字段进行 ILIKE,该字段不大(500 000),但对于 ILIKE 显然太大,搜索查询大约需要 20 秒。数据库是 postgres 8.4

我需要更快地实现此搜索。

我想到了什么:

  1. 我从所有需要搜索的列中组装了额外的 TVECTOR 列,并在其上创建了全文索引。全文搜索非常快。但是...我无法在我的 .hbms 中映射此 TVECTOR 类型。所以这个想法落空了(无论如何,我认为它更多地是一种临时解决方案)。

  2. 休眠搜索。(今天第一次听说)这似乎很有希望,但我需要有经验的意见,因为我不想进入新的 API,可能不是最简单的,因为可以做更简单的事情。

  3. Lucene

无论如何,这个表现在已经发生了,但我希望解决方案更通用,并应用于与全文搜索相关的未来案例。

所有建议表示赞赏!

谢谢

0 投票
2 回答
828 浏览

hibernate - 什么分析仪适合我的情况?休眠搜索案例

我们正在运行一个图书搜索应用程序。它是通过休眠搜索实现的。

书籍实体定义如下:

如果用户搜索书名,比如说他们输入 Microsoft access 2007,则书名或描述包含 microsoft,则返回 access 或 2007。这正是我们所期望的。由于关键字 2007,有些书完全不相关。我正在寻找一种解决方案来了解每个关键字的重要性。在这种情况下,2007 年在搜索中的重要性较低。但对于那个搜索,microsoft、access 或 2007 没有区别。

第二个用户案例:是否有一个好的分析器可以用于索引和查询以支持多个短语?我认为休眠搜索的默认分析器只是将搜索词标记为单个词?

如果搜索词是 microsoft access 2007,如果结果包含“microsoft access”,则结果得分最高,

另一个搜索示例:“盐湖城”、“美国”,如果仅匹配盐、城市或湖泊,则不会出现预期结果,或者至少,它们应该在“盐湖城”的结果后面。

谁能给我一些线索?

谢谢!

0 投票
0 回答
342 浏览

java - Lucene 可删除文件被锁定

我用来重新索引 MassIndexer。我从某个站点获得了代码示例(不记得在哪里)。

但是经过几次重新索引后,索引的大小确实非常巨大。任何建议我如何解决这个问题。

Lucene 说:

当您还针对您正在优化的索引打开阅读器(IndexReaders 或 IndexSearchers)时,这是 Windows 上的正常行为。Lucene 会在合并(优化)后尝试删除旧的段文件。但是,由于 Windows 不允许删除已打开以供读取的文件,Lucene 捕获 IOException 删除这些文件,然后将这些挂起的可删除文件记录到“可删除”文件中。在接下来的段合并中,这发生在显式 optimize() 或 close() 调用中,并且每当 IndexWriter 将其内部 RAMDirectory 刷新到磁盘时(每个 IndexWriter.DEFAULT_MAX_BUFFERED_DOCS(默认 10)addDocuments),Lucene 将再次尝试删除这些文件(和其他的)和任何仍然失败的都将被重写到可删除的文件中。

但我相信有办法解决这个问题。在任何情况下,索引都会占用所有可用空间,因为它在任何时候都被某人使用..

0 投票
1 回答
2736 浏览

hibernate - 休眠搜索过滤器没有 Enum 的预期结果

我正在使用hibernate search 3.4,我遇到了一个小问题。我有一个我正在尝试使用的过滤器 ( CourseStatusFilterFactory),但每次启用它时,都不会返回任何结果。我有另一个可以正常工作的过滤器 ( DeletedFilterFactory),所以我不确定问题出在哪里。

这是我要搜索的对象:

任何我的FilterFactory:

并启用我的过滤器:

调试代码时,我可以看到我在过滤器中的查询确实设置为“coursestatus:PUBLISHED”,但我仍然有 0 个结果,即使应该有几十个。

关于从哪里开始的任何想法?