我在 Elasticsearch 中创建了一个分析器,如下所示。
{
"analyzer": {
"pattern_analyzers": {
"type": "custom",
"pattern": ",",
"tokenizer": "pattern"
}
}
}
在字符串字段中添加了相同的分析器,我在其中以逗号分隔的形式存储值。
该字段的值将如下所示:
"skills":"software-engineer,hardware,android developer"
在这里我没有得到确切的结果,因为想要得到的就像它只在遇到逗号时才应该分开。我目前得到的结果是,字符串在空格和特殊字符上拆分。
如何修改分析器以使其仅在遇到逗号时才拆分字符串。
编辑:
在这种情况下
"software,Engineer (Core, Non-IT),hardware"
它不应该像"software","Engineer (Core"," Non-IT)","hardware"
一样拆分代替
"software","Engineer (Core, Non-IT)","hardware"
最佳答案
我认为这不是制作自定义分析仪的正确方法
尝试以这种方式进行。
放置my_index
{
"settings": {
"analysis": {
"analyzer": {
"pattern_analyzers": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "pattern",
"pattern": ","
}
}
}
}
}
关于elasticsearch - Elasticsearch中的模式分词器在空白和特殊字符上进行拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48582931/