MongoDB 不是停止字符(标记化定界符)的全文索引字符

MongoDB full text index characters that are NOT stop characters (tokenization delimiters)

假设我想在文本字段上有一个“文本索引”,如下所示,用于部分搜索和高级搜索:

"supertext": "a111=Salvador a111=Sal a111=Salv a111=Salva a111=Salvad a111=Salvado a113=Hernandez a113=Her a113=Hern a113=Herna a113=Hernan a113=Hernand"

似乎等号是解析器的标记化定界符(停止符)之一。这个MongoDB doc page refers to the the unicode characters: Dash, Hyphen, Pattern_Syntax, Quotation_Mark, Terminal_Punctuation, and White_Space in Unicode 8.0 Character Database Prop List from here: https://www.unicode.org/Public/8.0.0/ucd/PropList.txt

我想知道的是反过来。我可以使用哪些不是标记化定界符的特殊字符?

我想在文本字段中找到“a111=Salvador”。现在,搜索“a111=Salvador”和“Salvador”return 相同或相似的分数。

比如我存数据的时候还能用什么,比如:

a111#Salvador
a111@Salvador
a111`Salvador

似乎有人可能对此有经验,而不是我花几个小时在 Unicode 页面上搜索不存在的字符。

或者我需要更长的字母字符系列,还是不需要字符?

a111valueSalvador
a111Salvador

来自当前主 https://github.com/mongodb/mongo/blob/eb2b72cf9c0269f086223d499ac9be8a270d268c/src/mongo/db/fts/unicode/gen_delimiter_list.py#L27 分隔符是:

delim_properties = [
    "White_Space", "Dash", "Hyphen", "Quotation_Mark", "Terminal_Punctuation", "Pattern_Syntax",
    "STerm"
]

这让您有很多其他符号可供选择。例如尝试中间点:

00B7          ; Other_ID_Continue # Po       MIDDLE DOT
0387          ; Other_ID_Continue # Po       GREEK ANO TELEIA

已使用 U+00B7 进行测试 - a111·Salvador 工作正常并且看起来很整洁。

在python条款中:

separator = '\u00B7'
sample = "a111" + separator + "Salvador"
print(sample)