有人可以解释Lucene内不同分析仪之间的区别吗?我收到了一个maxClauseCount异常,我明白我可以通过使用KeywordAnalyzer来避免这种情况,但我不想在不了解分析器问题的情况下从StandardAnalyzer进行更改.非常感谢.
我正在为log4j文件生成的日志文件寻找某种分析工具.我正在寻找比grep更先进的东西?你在用什么进行日志文件分析?
我正在寻找以下几种功能:
我的log4j配置使用带模式的org.apache.log4j.PatternLayout,%d %p %c - %m%n
但可以适用于分析器工具.
我无法理解使用轮胎宝石的弹性搜索中的分析器概念.我实际上是这些搜索概念的新手.有人可以在这里帮我一些参考文章或解释分析器实际上做了什么以及为什么使用它们?
我看到弹性搜索中提到了不同的分析器,如关键字,标准,简单,滚雪球.没有分析仪的知识,我无法弄清楚究竟是什么符合我的需要.
我在ElasticSearch字段中有一个字段,我不想分析它,即它应该存储并逐字比较.值将包含字母,数字,空格,短划线,斜线和其他字符.
如果我没有在我的映射中为此字段提供分析器,则默认仍然使用一个标记生成器,它将我的逐字字符串破解成单词块.我不希望这样.
有一个超级简单的分析仪,基本上不分析?或者是否有不同的方式表示不应分析该字段?
我只创建索引,我不做任何其他事情.我可以将"英语"等分析器用于其他字段,这些字段似乎是预配置分析器的内置名称.有其他名字的清单吗?也许有一个符合我的需求(即对输入无动于衷).
这是我目前的映射:
{
"my_type": {
"properties": {
"my_field1": { "type": "string", "analyzer": "english" },
"my_field2": { "type": "string" }
}
}
}
Run Code Online (Sandbox Code Playgroud)
my_field1
是语言依赖的; 这似乎有效. my_field2
应逐字逐句.我想在那里给一个分析器什么都不做.
my_field2
将是一个样本值"B45c 14/04"
.
有没有一种简单的方法可以使用Lucene的任何子类Analyzer
来解析/标记化String
?
就像是:
String to_be_parsed = "car window seven";
Analyzer analyzer = new StandardAnalyzer(...);
List<String> tokenized_string = analyzer.analyze(to_be_parsed);
Run Code Online (Sandbox Code Playgroud) 我正在查看 http://euphonious-intuition.com/2012/08/more-complicated-mapping-in-elasticsearch/ ,它解释了ElasticSearch分析器.
我不理解有关使用不同搜索和索引分析器的部分.自定义映射的第二个例子如下:
- >索引分析器是edgeNgram
- >搜索分析器是:
"full_name":{
"filter":[
"standard",
"lowercase",
"asciifolding"
],
"type":"custom",
"tokenizer":"standard"
}
Run Code Online (Sandbox Code Playgroud)
如果我们希望查询"Race"不返回像*ra*pport和*rac*ial这样的结果,因为edgeNgram,为什么首先用edgeNgram索引它?
请解释一下不同分析仪有用的示例.
在以下情况下,我无法在Google或ES中找到完美的解决方案,希望有人可以在这里提供帮助.
假设在"email"字段下存储了五个电子邮件地址:
1. {"email": "john.doe@gmail.com"}
2. {"email": "john.doe@gmail.com, john.doe@outlook.com"}
3. {"email": "hello-john.doe@outlook.com"}
4. {"email": "john.doe@outlook.com}
5. {"email": "john@yahoo.com"}
Run Code Online (Sandbox Code Playgroud)
我想完成以下搜索方案:
[搜索 - >接收]
"john.doe@gmail.com" - > 1,2
"john.doe@outlook.com" - > 2,4
"john@yahoo.com" - > 5
"john.doe" - > 1,2,3,4
"约翰" - > 1,2,3,4,5
"gmail.com" - > 1,2
"outlook.com" - > 2,3,4
前三个匹配是必须的,对于其余的匹配,越精确越好.已经尝试过不同的索引/搜索分析器,标记器和过滤器组合.还试图处理匹配查询的条件,但没有找到理想的解决方案,任何想法都是受欢迎的,并且对映射,分析器或使用哪种查询没有限制,谢谢.
我正在尝试使用一个拥有少量Roslyn Code Analyzers的大型开源项目.当我打开解决方案时,Visual Studio使用~35%的CPU大约15分钟.使用PerfView我发现在解决方案上运行的代码分析器正在使Visual Studio陷入困境.
我知道可以在每个项目的基础上禁用分析器,但是这个解决方案包含100多个项目,所以我不想一个接一个地执行此操作.
我的问题:
是否有一个很好的MySQL查询分析器(可以免费或试用),它可以分析查询并为索引提出建议,比如Microsoft SQL Server管理工作室中的"显示估计执行计划"?
我正在尝试学习在个人项目中使用 StyleCop。这不是一个很大的解决方案结构如下:
- MySolution (2 of 2 projects)
- Solution Items
- .editorconfig
- .gitignore
- CODEOWNERS
- my-pipeline-workflow.yml
- README.md
- stylecop.json
- MyMainProject
- Dependencies
- .editorconfig (pointer Solution Items copy)
- OneOfManyCsFiles.cs
- stylecop.json (pointer Solution Items copy)
- MyTestProject
- Dependencies
- .editorconfig (pointer Solution Items copy)
- OneOfManyTestCsFiles.cs
- stylecop.json (pointer Solution Items copy)
Run Code Online (Sandbox Code Playgroud)
以下是文件夹本身的结构:
- RepoFolder
- .github
- workflows
- my-pipeline-workflow.yml
- src
- MyMainProject.csproj
- OneOfManyCsFiles.cs
- test
- MyTestProject.csproj
- OneOfManyTestCsFiles.cs …
Run Code Online (Sandbox Code Playgroud)