问题标签 [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 回答
75 浏览

grails - Grails 可搜索组件选项

两个域在哪里

我只想按地区名称查找地区或按州名称查找州的所有地区。状态不应出现在搜索结果中。

我必须如何更改代码?
PS我知道如何通过gorm找到对象。我只写了简单的代码示例。我需要 lucene 进行特色搜索

0 投票
1 回答
217 浏览

grails-2.0 - grails可搜索插件:如何使属性仅用于排序,而不用于搜索

我在我的项目中使用可搜索插件。我有一个简单的域,下面给出

我需要将投票和日期作为可排序元素。并且在搜索时不应该考虑
我也知道,它可以通过使用下面的代码来完成

但是在这种情况下,对象的结果列表将不包含日期属性,因此无法在 gsp 中显示以进行显示。
那么我如何在我的 gsp 中制作用于显示、排序而不是搜索的“日期”元素。

0 投票
1 回答
214 浏览

java - Lucene 文档结构可以正确地对一组键进行分组

我有一个这样的 Java 模型(省略了一些字段):

该模型为 Anakin 人创建了一个包含以下数据的 lucene 文档:

假设这只是众多文档之一,我可以这样搜索:

  1. 查找名字以 an 开头并且有一个男孩的人

    /li>
  2. 查找有男孩和女孩的人

    /li>

当我试图找到一个具有特定姓名和性别的孩子时遇到了麻烦,就像这样

这将返回一个结果,我明白为什么。我希望这不返回任何结果。我的问题是如何区分或关联这些嵌套属性,以便我的查询返回有效数据?

我考虑过:

  1. 将孩子存储为单独的文档,尽管这样做我失去了以我上面写的方式进行搜索的能力。

  2. 在查询中以某种方式使用id字段对这些字段进行分组。我一直无法想出一个“正确”的方法。我考虑过的变体:

    /li>
0 投票
1 回答
93 浏览

java - 指南针索引创建

我收到类似的错误

0 投票
2 回答
566 浏览

spring - Elasticsearch 与 Hibernate 事务同步

我有一个在 spring2.5、hibernate 3.1 和 compass 搜索引擎上运行的应用程序。compass 搜索引擎与所有 db 操作同步。这样我就可以快速从指南针缓存中获取数据。现在我想用弹性搜索引擎替换罗盘。我是弹性搜索的新手,我认为罗盘的作者开发了弹性搜索。因此同步机制也应该在弹性搜索中实现。任何人都请提出一种方法来做到这一点。

0 投票
0 回答
258 浏览

solr - 使用自定义文档转换器在 solr 中获取匹配项的有效负载

在 Solr 中,我有一个名为“payloads”的自定义字段类型,它支持有效负载

我已经定义了这种类型的字段:

"somefield" 的内容看起来像: ["abcd|payload1", "xyz|payload2", "mnop|payload3" ] (可以扩展到 1K 字)

假设我的查询词是“xyz”。我想只返回“xyz|payload2”,或者最好只返回“payload2”。

我在 Solr 中编写了一个自定义 DocumentTransformer,它在将文档与我的查询匹配后可以解析该字段并返回“payload2”。

但是如果感觉我应该能够提取“payload2”而不必解析整个字段,因为在内部 solr 可能已经索引了这些信息。

我正在尝试编写另一个文档转换器,它可以使用 PostingsEnum 返回有效负载:

但是当我执行“pe.getPayload()”时,我只是得到“null”。关于上述代码可能有什么问题以及为什么不存在有效负载的任何建议/指针?

(注意:呈现的场景非常简单,实际上文档和查询中还存在其他内容,因此请不要建议更改架构或不使用有效负载。)

0 投票
0 回答
76 浏览

apache - Apache Lucene 能否替代 ETL 工具进行文本处理

我得到了一个 15GB 的平面文件提取及其规范,它有助于识别每行记录以及如何拆分每行以收集所需的信息。我打算使用 ETL 工具,因为我认为这个批量文件的文本处理无法在 java 中实现。但我现在开始阅读有关 Lucene 的信息。现在我真的很困惑。以下是我的疑问:

  1. Apache Lucene 可以处理 15GB 的纯文本文件而不会出现内存问题。
  2. 15GB 平面文件读取每一行、识别标识符并基于标识符拆分行数据并将其加载到映射数据库中的性能基准是什么。
  3. 我可以使用 Apache Lucene 来完成这项任务或使用 ETL 工具吗?
0 投票
1 回答
17 浏览

compass-lucene - 结果集JdbcGpsDevice & @SearchableComponent

我在使用org.compass.gps.device.jdbc.ResultSetJdbcGpsDeviceand设置 @SearchableComponent 对象时遇到问题mapping.TableToResourceMapping

为了测试这一点,我设置了两个映射到对象的表(忽略 id 东西,除非这实际上导致了这个问题):

A 和 B 定义如下:

这是我设置所有内容的方式:

有了这个,我从 Compass 收到以下错误:

如果我将 B 设置为root=true工作正常,我可以在 A 和 B 的字段中搜索文本并取回内容。但是,当 A 被构建并被搜索返回时,它的 B 实例是空的。

如果我搜索property2:0然后我检索映射到该列为 0 的行的 B 的实例,但我也检索 A 的每个实例——因为它们的所有 B 组件都是默认实例。

我应该如何正确设置它?我觉得我可能在 Compass 文档中遗漏了一些东西。

0 投票
0 回答
142 浏览

java - Lucene 索引损坏

我对 lucene 索引有一些问题。这发生在过去,我重新索引了整个数据,它又发生了。

确实,文件夹中缺少该文件,我不知道它是如何消失的。是否可以在不删除所有内容的情况下将索引恢复到旧状态? 文件 _3npk.cfs 丢失

提前致谢,亲切的问候

0 投票
1 回答
85 浏览

lucene - 如何在指南针(lucene)中指定是否存储字段内容?

我试图了解生成 compass 2.2 索引的旧版应用程序是否存储字段的内容,我可以使用 luke.net 打开索引,据我了解它不是存储字段,它只是返回一个 id,大概是用于其他地方从数据库中选择

看到这个 lucene :Lucene Field.Store.YES vs Field.Store.NO

我怎么知道这个指南针应用程序是否使用相当于 lucene.net Field.Store.NO 的索引,这是 compass.cfg.xml :

value="no:" 是否意味着不存储该值,或者不将其视为“停用词”?而例如 value="org.apache.lucene.analysis.standard.StandardAnalyzer" 意味着存储它

这是它似乎使用的分析器: