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
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)
假设我想在文本字段上有一个“文本索引”,如下所示,用于部分搜索和高级搜索:
"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
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)