【问题标题】:Removing commas when using whitespace tokenizer使用空格标记器时删除逗号
【发布时间】:2014-03-24 23:12:03
【问题描述】:

当使用空格标记器时,会出现“there, he is”之类的文本。将被拆分为 “那里”、“他”和“是”。当然,我想删除那些标准标记器会自动删除的标点符号。

我的问题是:

  1. 如何修剪那些标点符号? (在 elasticsearch 设置中,例如添加另一个令牌过滤器或字符过滤器)
  2. 我需要使用空白标记器,主要是因为我不希望连字符的单词被拆分。有没有办法在仍然使用标准标记器的同时实现这一目标?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    您可以使用 char 过滤器来删除“,”。 Char Filter

    【讨论】:

      【解决方案2】:

      你可以使用:

      http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-word-delimiter-tokenfilter.html

      我已经安装的一个片段̶=̶>̶HTTP:̶/̶/̶e̶s̶.̶s̶u̶b̶i̶t̶o̶l̶a̶b̶s̶.̶c̶o̶m̶/̶#̶/̶t̶e̶s̶t̶r̶/̶m̶6̶m̶f̶b̶4̶a̶h̶i̶m̶8̶6̶w̶2̶9̶ P>

      【讨论】:

        【解决方案3】:

        您可以使用 split() 删除所有标点符号

        String str ="there, he is.";
        String[] ss = str.split("[ ,.]");   
        for (String string : ss) {
        System.out.println(string);
        }
        

        试试这个 这将帮助你

        【讨论】:

        • 这不是 java 问题。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多