【发布时间】:2019-06-14 11:47:29
【问题描述】:
来自弹性搜索文档
注意:所有标记都在相同的位置发出,并且具有相同的字符偏移量。这意味着,例如,使用此分析器的 john-smith_123@foo-bar.com 的匹配查询将返回包含任何这些标记的文档,即使使用 and 运算符也是如此。此外,当与突出显示结合使用时,将突出显示整个原始标记,而不仅仅是匹配的子集。例如,在上述电子邮件地址中查询“smith”将突出显示: https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-pattern-capture-tokenfilter.html
有没有办法生成具有不同位置/偏移量的令牌?
鉴于弹性搜索提供的示例,我希望能够在 com 和 john 上进行搜索,但据我了解,它将匹配所有包含 com 或 john 的电子邮件,因为它们将认为是相同的位置。
(在我的情况下,我想这样做以进行代码分析,与他们给出的 2 秒示例非常相似)
"analysis" : {
"filter" : {
"code" : {
"type" : "pattern_capture",
"preserve_original" : true,
"patterns" : [
"(\\p{Ll}+|\\p{Lu}\\p{Ll}+|\\p{Lu}+)",
"(\\d+)"
]
}
},
【问题讨论】:
标签: elasticsearch search indexing