问题标签 [luke]

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

java - Lucene Search Luke vs Hibernate Search 不同的结果

我在 luke 中运行以下 lucene 查询短语:

+(debtorNumber:10200000 originalDebtorNumber:10200000) +(serviceName:"skype for"^840.0 (serviceName:for* serviceId:for*) (serviceName:skype* serviceId:skype*))

显示在开头的预期结果,例如:

面向经理的 Skype for Business

Microsoft Skype for Business 会议 (Plan2)

Skype for Business 会议的电话拨入

等等。

使用休眠搜索执行的相同查询显示不同的结果:/

例如,我得到以下结果:

为您的 PC、笔记本电脑或服务器提供防病毒保护

瘦客户端的中央管理

Skype for 出现在第 3 或第 4 页。

java代码是:

这记录了我在 Luke 中使用的上述查询

请指教。

0 投票
1 回答
80 浏览

lucene - 未分析字段的短语查询不起作用

我有一个产品搜索索引,其中包含一个包含序列化 JSON 的字段“productOptions”,这意味着它可能包含没有选项的产品的空数组,或者包含产品选项的产品选项的数组:

  • []
  • [{ optionId: "", ... }]

当我在 Luke 中尝试查询+productOptions: "[]"时(使用 StandardAnalyzer),我没有得到任何匹配。我的印象是,只要有完全匹配,StandardAnalyzer 就会搜索未分析的字段 - 所以我不明白为什么我没有得到任何点击。但是,如果我切换到 KeywordAnalyzer,我确实会得到点击,但不能使用 KeywordAnalyzer,因为我正在查询产品选项作为需要 StandardAnalyzer 的更复杂的搜索查询的一部分。

如何编写一个查询来查找所有没有选项的产品(即 productOptions == [])?

注意:我无法控制索引过程,所以我无法控制被索引的值。

0 投票
1 回答
704 浏览

java - 是什么原因导致 ”使用 Luke 在 Lucene 中没有位置数据的索引”错误?

我正在尝试从使用 Lucene 索引的文档中搜索 DOI 字段。DOI 的值类似于“10.1186/1756-3305-7-73”。请原谅我,以防这个问题很愚蠢,但这是我第一次将手浸入 Lucene。

错误是:

[2019-02-05 17:37:18,233] 错误 (ExceptionHandler.java:36) - 字段“doi”在没有位置数据的情况下被索引;无法运行 PhraseQuery (phrase=doi:"10.1186 s12937 015 0065 5") java.lang.IllegalStateException: 字段“doi”没有位置数据被索引;无法运行 PhraseQuery (phrase=doi:"10.1186 s12937 015 0065 5")

问题详情:

  • Lucene 版本 - 7
  • 查询表达式-doi:"10.1186/1756-3305-7-73"
  • 解析查询 - doi:"10.1186 1756 3305 7 73" (注意它删除了正斜杠和连字符)
  • 尝试过的分析仪 - 英文分析仪、标准分析仪、简单分析仪
  • 用于导航 Lucene 索引的软件 - Luke v7.6.0

不,我没有记错。字段“DOI”的值已使用 Lucene 编制索引。

这是错误的完整日志:

[2019-02-05 17:37:18,233] 错误 (ExceptionHandler.java:36) - 字段“doi”在没有位置数据的情况下被索引;无法运行 PhraseQuery (phrase=doi:"10.1186 s12937 015 0065 5") java.lang.IllegalStateException: 字段“doi”没有位置数据被索引;无法在 org.apache.lucene.search.PhraseQuery$1.getPhraseMatcher(PhraseQuery.java:434) 在 org.apache.lucene.search.PhraseWeight.scorer(PhraseWeight) 运行 PhraseQuery (phrase=doi:"10.1186 s12937 015 0065 5") .java:46) 在 org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:667) 在 org.apache.lucene.Weight.bulkScorer(Weight.java:177) 在 org.apache.lucene。 search.IndexSearcher.search(IndexSearcher.java:471) 在 org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:592) 在 org.apache.lucene。

我确实有一种直觉,这里的错误与解析查询表达式有关。我确实注意到 - 和 / 是从我的原始查询中解析出来的,但我不知道如何解决这个问题。在这件事上的任何方向都将不胜感激。

0 投票
1 回答
327 浏览

lucene - 如何使用 Lucene Luke 测试多个字段的搜索结果?

我正在使用 Lucene Luke 测试搜索索引结果,并注意到我不能在“默认字段”下拉列表中选择多个字段。这是设计使然,还是我们不能使用 Luke 工具搜索多个字段?

基本上我想知道 Lucene 中等效的 SOLR qf(查询字段)。

谢谢

0 投票
1 回答
170 浏览

lucene - 编写索引时 Lucene StandardAnalyzer 未转换为小写

我正在使用 Lucene 8.3 并遇到 StandardAnalyzer 的意外行为。为了隔离问题,我设法对 Luke 产生了相同的行为。以下是对卢克的描述:

我正在使用 StandardAnalyzer 创建一个新文档。一个字段:name=myField; 类型=字符串字段;选项=存储值;价值='Foo'

然后切换到搜索:解析术语'myField:Foo'显示它被转换为小写。这是 StandardAnalyzer 的预期行为。然而,搜索产生的结果为零。切换到 WhitespaceAnalyzer 将解析相同的术语保留案例。搜索将提供我刚刚输入的一个新文档。

在我看来,StandardAnalyzer 在文档创建/索引编写期间不会将文本转换为小写。我的 Java 代码也有同样的情况。

我错过了什么?我还需要观察其他设置吗?

0 投票
2 回答
2122 浏览

lucene - 如何查看 Lucene 索引

我正在尝试学习和理解 lucene 的工作原理,lucene 索引中的内容。基本上我想看看数据是如何在 lucene 索引中表示的?

lucene-core 8.6.0用作依赖项

下面是我非常基本的 Lucene 代码

注意:我了解 Lucene 背后的知识 - 倒排索引,但我缺乏对 lucene 库使用此概念以及如何创建文件以便使用 lucene 使搜索变得容易和可行的理解。

我试过豪华轿车,但没有用。即使我在 web.xml 中给出了索引位置,它也不起作用

0 投票
0 回答
31 浏览

java - 从 Lucene 索引输出中提取特定的信息对

我使用 Lucene 库作为索引和关键字提取工具来索引我的文档。但是,我不想使用 Lucene 中提供的搜索查询,因为我希望开发自己的单独搜索算法/程序。

我想知道除了使用 Luke 之外,还有什么方法可以以可读的方式仅提取关键字-文档 ID 对(例如稍后可以在我自己开发的程序中读取/使用的文本文件)。

或者

有什么方法可以加密 Lucene 索引,但仍然可以使用可搜索加密进行搜索。如果是,我可以知道它是如何工作的吗?

或者

是否有任何其他索引库可以以程序可读的方式提取关键字对?

0 投票
0 回答
13 浏览

lucene - 错误:org.apache.lucene.analysis.standard.StandardAnalyzer 必须有一个零参数或(字符串)构造函数

使用org.apache.lucene.analysis.standard.StandardAnalyzer. 我正在使用lucene-core-2.4.0和。我将输入字段留空。我以为 Luke 会推断出我正在使用零参数构造函数,但似乎并非如此。任何想法请如何解决这个问题:lucene-analyzers-2.4.0lukeall-1.0.0.jarOptional constructor argument

在此处输入图像描述

0 投票
0 回答
2 浏览

luke - Web 应用程序之外的 Lucene 索引

Lucene 索引搜索正在我的 Web 应用程序中使用,并且它可以很好地处理存储在站点中的数据。但我想在 web 应用程序之外的数据中添加一些搜索功能。有没有办法在卢克搜索中插入记录?

0 投票
1 回答
14 浏览

sitefinity - Sitefinity 新文档 SetBoost

我正在收集外部数据,然后进行ServiceBus.ResolveService<ISearchService>().UpdateIndex. 这很好用,但我想SetBoostnew Document. 我已经使用 is using 创建了一个标志 setboost,doc.SetBoost(1.5f);但出现运行时错误。这是设置提升分数的正确方法吗?

严重性代码描述项目文件行抑制状态抑制状态错误 CS1061“文档”不包含“SetBoost”的定义,并且找不到接受“文档”类型的第一个参数的可访问扩展方法“SetBoost”(您是否缺少使用指令还是程序集引用?)\