问题标签 [compass-lucene]

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 回答
902 浏览

annotations - Compass Search Annotations 导致编译器错误

我试图在我的 Java 程序中使用 Compass 搜索引擎中的 @Searchable 注释,但我收到一个编译时错误:“类型不匹配:无法将 Searchable 转换为注释”。

我已经包含了我能想到的所有 jar 文件,并在网上搜索了工作示例,但无济于事。

有人有指南针注释的工作示例吗?

0 投票
3 回答
1503 浏览

java - 使用带注释的 Hibernate 配置 Compass

我正在将 Hibernate 用于基于 Java 的 Web 应用程序,并希望通过 Compass 添加全文搜索。Compass 应该支持这一点,但未能提供任何有用的入门指南。

我可以弄清楚我必须用@Searchable 和各种@SearchableXXX 变体注释我的实体,并通过HibernateHelper.getCompass(sessionFactory) 在我的服务代码中访问Compass。

我最终得到一个 HibernateException 说“未配置指南针事件侦听器,请检查参考文档和应用程序的 hibernate.cfg.xml”。

参考文档再次提示和 hibernate.cfg.xml,而我用 Spring 的 AnnotationSessionFactoryBean 配置 Hibernate。对于这种情况,文档中提到:“如果使用 Hibernate Annotations 或 Hibernate EntityManager (JPA),只需将 Compass jar 文件放到类路径中即可启用它(确保类路径中没有 Hibernate Search,因为它使用相同的事件类名称)。” 这对我不起作用。

我缺少什么想法或入门的好资源?

0 投票
1 回答
920 浏览

.net - 如何使用 Lucene.Net 索引和搜索业务实体?

我想知道如何使用 Lucene.NET 来索引和搜索我的业务实体。我看到 NHibernate.Search 有很好的功能来解决这个问题,但它仍然需要数据库。我不需要数据库,我只想将所有数据存储在我的 Lucene.NET 的索引中。我还看到像 Compass 这样的 java 框架可以轻松完成这些工作,但它不是 .NET 库。

对象设计或框架有没有办法解决这个问题?

0 投票
2 回答
3003 浏览

mysql - 如何将 lucene 索引存储在数据库中?

这是我的示例代码:

我被困在这条线上:IndexWriter writer = new IndexWriter(jdbcDir, analyzer,false);

每次我尝试运行此代码时,都会收到以下异常:

------“org.apache.lucene.store.LockObtainFailedException:锁获取超时:PhantomReadLock[write.lock/tttable]”------------

我找不到代码有什么问题。可能是jar兼容性问题。

我无法获得 IndexWriter 对象。

0 投票
1 回答
732 浏览

lucene - 如何将 EdgeNGramTokenFilter 添加到 Compass 查询?

我正在使用罗盘构建一些自动完成功能,我需要在罗盘查询中添加一个EdgeNGramTokenFilter,但我看不到如何添加它。

这可能吗?

0 投票
4 回答
3251 浏览

lucene - Lucene 查询语法

我正在尝试使用 Lucene 查询具有以下结构的域

域中的数据总结如下

如果我执行查询"courseName:cooking AND mandatory:Y",它会返回 Bob,因为 Bob 正在参加烹饪课程,而 Bob 也在参加必修课程。但是,我真正想查询的是“参加强制性烹饪课程的学生”,在这种情况下不会返回任何人。

是否可以将其表述为 Lucene 查询?我实际上使用的是 Compass,而不是直接使用 Lucene,所以我可以使用CompassQueryBuilder或 Lucene 的查询语言。

为了完整起见,域类本身如下所示。这些类是 Grails 域类,但我使用的是标准 Compass 注释和 Lucene 查询语法。

0 投票
2 回答
580 浏览

grails - Grails/Compass - 如何更改 compqass 连接以指向不同的目录?

我将 Searchable 插件与 Grails 一起使用,我需要根据用户的 UI 选择更改 Compass 指向的目录。

通常,该值在 grails-app/conf/Searchable.groovy 中可搜索地图的 compassConnection 变量中设置,如下所示,并在应用程序启动时调用:

可搜索 { compassConnection = new File("/path/to/index/file/directory" ).absolutePath

...

}

为了做我需要做的事情,我认为我需要获取 compass 配置变量的句柄,然后调用 config.setConnection("/new/path/to/index/dir")

  1. 我不知道如何获得对 config compass 变量的引用
  2. 我假设我只需要调用 setConnection(String) 是对的,还是我需要采取任何其他步骤?

非常感谢我能得到的任何帮助,

谢伦

0 投票
2 回答
2544 浏览

lucene - 在没有索引的情况下查询 lucene 令牌

我正在使用 Lucene(或更具体地说是 Compass)在论坛中记录线程,我需要一种方法来提取讨论背后的关键字。也就是说,我不想索引某人所做的每个条目,而是我有一个与特定上下文相关的“关键字”列表,如果条目与关键字匹配并且高于阈值,我会添加这些条目到索引。

我希望能够使用分析器的功能来剥离事物并发挥其魔力,然后从分析器返回标记以匹配关键字,并计算某些单词被提及的出现次数。

有没有办法从分析器中获取令牌,而无需索引每个条目的开销?

我在想我必须维护一个 RAMDirectory 来保存所有条目,然后使用我的关键字列表执行搜索,然后将相关文档合并到持久性管理器以实际存储相关条目。

0 投票
3 回答
2500 浏览

java - 休眠搜索或指南针

我似乎找不到任何关于选择的最新谈话。早在 06 年,就有人批评 Hibernate Search 不完整,还没有准备好与 Compass 竞争,现在是这样吗?有没有人同时使用这两种方法并对做出决定有一些看法。

我在空闲时间用 Java 开发一个 Web 应用程序,这只是我自己,所以我希望尽可能地偷工减料,同时尽量减少对最终产品的影响。话虽如此,我项目的搜索能力是第一位的!我花了很多时间制作数据库模型来支持系统。让用户找到他们想要的东西的能力将使我的应用与众不同。因此,速度是可消耗的……显然在合理的程度上。

以下是我目前对该应用程序技术的看法,如果您发现任何明显newb的错误,请保持温和……我什么都不是专家。

DB:PostgreSQL
平台:Java
框架:Spring、Hibernate、Seam

显然,我选择了所有免费(如啤酒)技术以及据我所知可以很好地结合使用的技术。那么你们怎么看,Compass 或 Hibernate Search 来解决问题?

-Nomad311

0 投票
2 回答
1371 浏览

grails - 使用 Compass/Lucene 搜索对象子集

我正在使用 Grails 的可搜索插件(它为 Compass 提供了一个 API,它本身就是一个基于 Lucene 的 API)。我有一个我想搜索的 Order 类,但是我不想搜索 Order 的所有实例,而只是其中的一个子集。像这样的东西:

实际上,获取 searchableOrders 的关系查询比这更复杂,所以我不能单独在 compass 中完成整个查询(Hibernate + compass)。有没有办法使用 Compass/Lucene 仅搜索特定类的实例的主题。