问题标签 [standardanalyzer]

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

lucene - Lucene QueryParser 行为不一致

以下程序:

给出这个输出:

请注意与 : 的明显不一致,还要注意我正在转义特殊字符(与 QueryParser.escape 完全相同)。我希望 StandardAnalyzer 能够从查询词中去掉特殊的标点符号,而且几乎在所有情况下都会这样做。

这看起来特别不一致的原因是,使用 StandardAnalyzer 和“foo:bar”字段文本编写文档会给我一个两个词的字段,foo 和 bar!

第二轮转义给出了正确的结果,即有效地 "foo\\:bar"; 但为什么这仅对冒号是必要的?为什么我需要做 QueryParser.escape(QueryParser.escape(mystring)) 来避免这种行为?

0 投票
1 回答
689 浏览

c# - Lucene StandardAnalyzer 在 C# 中使用 Hunspell TokenFilter?

如何在 Lucene 中将 TokenFilter 添加到 StandardAnalyzer?或者是否有另一个分析器做同样的事情,只允许我也使用一个 TokenFilter?

我在 C# 中有一个用于 Hunspell 的 TokenFilter,我不确定在哪里/如何插入索引过程?

另一方面,我有:

从:

http://devhost.se/blog/post/2011/04/07/C-port-of-lucene-hunspell.aspx

任何人都可以帮忙吗?

0 投票
1 回答
704 浏览

java - StandardAnalyzer - Apache Lucene

我实际上正在开发一个系统,您可以在其中将一些文本文件输入到 StandardAnalyzer,然后该文件的内容被 StandardAnalyzer 的输出替换(它标记并删除所有停用词)。到目前为止,我开发的代码是:

readFileToString(f) 是一个将文件内容转换为字符串表示形式的简单函数。我得到的输出是每个单词都删除了空格或新行。有没有办法在分析器输出后保留原始空格或换行符,以便我可以用 StandardAnalyzer 的过滤内容替换原始文件内容并以可读形式呈现?

0 投票
2 回答
515 浏览

java - 什么是合适的 lucene 分析器?

我在用数字和符号索引项目名称方面遇到问题。我的数据示例如下所示:

我想在不删除符号的情况下将我的数据标记为白色或尾随空格,因为这些符号非常重要。这样每当我搜索“plywood sta. clara”、“bi square 2”X 3“”或“angle orange 2 - 1/2”时都会给我一个结果。我尝试使用空白分析器,但符号被删除。我也尝试了standardanalyzer,但停用词和符号也被删除了。最好的分析仪是什么?

0 投票
1 回答
258 浏览

lucene - Lucene 不匹配具有大写字符的字符串

我正在使用带有 StandardAnalyzer 的 Lucene 搜索引擎 (v36)。我使用 MultiFieldQueryParser。

我的一个字段设置为 NOT_ANALYZED,因为它是包含字母数字字符和点的版本名称。当此字段包含大写字符时,搜索不会找到任何结果。任何想法 ?

细节:

该字段包含以下值:

  • 版本1.26.12.test.a
  • 版本1.26.12.test.b
  • v1.2
  • version1.Dummy

我的搜索返回的是上面三个第一个示例的结果,但不是最后一个。

除了使用 Collections.emptySet() 绕过标准停用词外,我根本没有自定义 Lucene。

非常感谢。迪米特里

0 投票
2 回答
162 浏览

java - 如何使字母“A”在 Lucene 的 StandardAnalyzer 中成为例外?

我使用 Lucene 在 Android 中创建了一个医学词典。单词和定义是丹麦语,我StandardAnalyzer用来索引和搜索条目。这个想法是,当我单击 my 中的一个条目时,会显示ListView另一个条目,Activity顶部是单词,下方是定义。

除了条目之外,字典的工作方式与预期完全一致A.A.当我在我的 中单击时ListView,下一个Activity只显示屏幕的背景颜色——没有单词、没有定义、没有任何类型的文本。

我的猜测是在索引过程StandardAnalyzer中将字母视为停用词,因为for 条目正确显示。我怎样才能解决这个问题?AActivityV.

0 投票
1 回答
71 浏览

clucene - 防止某些文档在 clucene 中被索引

我正在使用 clucene 构建搜索索引,并且我想确保包含任何攻击性术语的文档永远不会被添加到索引中。使用带有停止列表的 StandardAnalyzer 还不够好,因为攻击性文档仍然会被添加,并且会被返回用于非攻击性搜索。

相反,我希望建立一个文档,然后检查它是否包含任何令人反感的词,然后仅在没有的情况下添加它。

干杯!

0 投票
1 回答
2981 浏览

lucene - 在 StandardAnalyzer 中使用 StopWords 进行 Lucene 搜索

我在使用 Lucene.NET 3.0.3 时遇到以下问题。

我的项目使用 StandardAnalyzer 和 StopWord-List(结合德语和英语单词)分析文档。
在搜索时,我手动创建搜索词并使用 MultiFieldQueryParser 对其进行解析。Parser 使用与索引文档相同的分析器进行初始化。
解析的搜索查询初始化了一个 BooleanQuery。BooleanQuery 和 TopScoreDocCollector 使用 IndexSearcher 在 Lucene 索引中搜索。

我的代码如下所示:

如果我索引值为“Test- und Produktivumgebung”的文档字段,我无法通过搜索该术语找到该文档。
如果我将搜索词更正为“Test-Produktivumgebung”,我会得到结果。
“und”一词在我的停用词列表中。

我的搜索查询如下所示:
手动生成的搜索查询:(+*Test* +*und* +*Produktivumgebung*)
解析的搜索查询:+(title:*Test*) +(title:*und*) +(title :*产品化*)

为什么我找不到搜索“Test- und Produktivumgebung”的文档?

0 投票
1 回答
198 浏览

search - 未找到 Lucene 中的单个单词命中

我正在制作一个系统,它可以浏览有关不同内容的文章并挑选出一些关于它的描述。基本上很像一本百科全书。起初我遇到了一个问题,如果我搜索“cat”,我会在“CAT5”、“CAT6”、“.cat”等文章中获得很多点击。然而,排名第一的仍然是“猫”。我为此使用了 StandardAnalyzer。我收到了使用 WhitespaceAnalyzer 的提示,它解决了最初的问题,并使 Lucene 在 CAT6 等文章上的命中率下降,但现在文章“Cat”根本不在我的命中率列表中。为什么是这样?对例如不同的分析仪有什么建议吗?

编辑:搜索本身的代码:

0 投票
1 回答
4290 浏览

java - 在 lucene 4.7.0 中找不到标准.StandardAnalyzer

我是 lucene 的新手。我正在尝试在这里做教程http://www.lucenetutorial.com/lucene-in-5-minutes.html

该网站正在导入:

但是,在我的 intellij 上,我在分析包中找不到任何标准。所以,我真的不能使用 StandardAnalyzer。

我需要使用不同的罐子吗?我正在使用的罐子是

我从中进口的

目录。

我在这里想念什么?