【问题标题】:How to do phonetic search in DSE Graph qremlin query?如何在 DSE Graph qremlin 查询中进行拼音搜索?
【发布时间】:2018-02-23 09:18:44
【问题描述】:

我已经了解了phrasetokenFuzzyfuzzy 搜索选项在DSE Graph Documentation 中提供的可能性。但这些不足以搜索AnishAneesh 的情况,它们的拼写不同,但发音或多或少相似。

有没有办法在 gremlin 查询中使用底层的 Solar phonetic search 功能?

相似的词对是MullerMueller

【问题讨论】:

    标签: gremlin datastax-enterprise-graph


    【解决方案1】:

    由于与 DSE Graph 和 DSE Search 的集成,没有特殊的 Gremlin 语法来实现这一点。要在 DSE Graph 中完成此操作,您将更改顶点标签的 SOLR 核心,以将所需的过滤器添加到分析器链中。可以使用类似以下的内容:

    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。

    【讨论】:

    • 非常感谢@jlacefie 的回答。这似乎不是直截了当的,考虑到我在 Solr 中的幼稚,一旦我对摆弄内部结构感到满意,我将在接下来的几周内尝试它。一个快速的问题,在这样做之后,索引会被自动拾取吗?还是应该在触发我的 gremlin 查询之前单独查询 solr?
    • 如果您对属性使用 has 语句,则应使用索引。不需要直接执行 SOLR 查询。
    • 我已将前两行更改为ALTER SEARCH INDEX SCHEMA ON MyGraph.Person_p_search ADD types.fieldType [ @name='callingName' , @class='org.apache.solr.schema.TextField' ],但无法编译。我不知道在哪个键空间上运行这个 CQL 命令!我已经在 DSE Studio 的 MyGraph Notebook 中尝试了所有键空间。但没有运气。我使用schema.vertexLabel('Person').index('search').search().by('callingName').asText().add() 创建了我的搜索索引
    猜你喜欢
    • 2016-06-17
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    相关资源
    最近更新 更多