我已经了解了DSE Graph Documentation中提供的phrase
,tokenFuzzy
,fuzzy
搜索选项的可能性。但这些不足以搜索案例,Anish
和Aneesh
拼写不同,但发音或多或少相似。
有没有办法在gremlin查询中使用基础Solar phonetic search功能?
类似的单词对是Muller
和Mueller
!
答案 0 :(得分:1)
由于与DSE Graph和DSE Search的集成,没有特殊的Gremlin语法来实现这一点。要在DSE Graph中完成此操作,您可以更改顶点标签的SOLR Core,以将所需的过滤器添加到分析器链。可以使用以下内容:
ALTER SEARCH INDEX SCHEMA ON graph_name.vertex_label_p
ADD types.fieldType [ @name='phonetic' , @class='org.apache.solr.schema.TextField' ]
WITH
$${
"analyzer": [
{
"filter": [
{ "class": "solr.LowerCaseFilterFactory" },
{
"class": "solr.BeiderMorseFilterFactory",
"nameType": "GENERIC",
"ruleType": "APPROX",
"concat": "true",
"languageSet": "auto"
}
],
"tokenizer": { "class": "solr.StandardTokenizerFactory" }
}
]
}$$;
...然后让这些更改生效......
RELOAD SEARCH INDEX ON graph_name.vertex_label_p;
我们让其他用户使用BMPM和DSE搜索,但我不知道有人使用Graph与迄今为止。
将任何SOLR扩展添加到分析仪后,您可能会看到硬件利用率,特别是CPU的增加。