【问题标题】:Is it possible to configure token separator characters with AWS Cloudsearch?是否可以使用 AWS Cloudsearch 配置令牌分隔符?
【发布时间】:2015-02-09 22:06:45
【问题描述】:

我的 Cloudsearch 索引目前没有返回 one-two three 的结果,但它确实(正确地)返回了 one two three 的一个结果(并且在搜索 two three 等时也将正确地包含在结果中)

我的理解是,这是因为可搜索的短语被分解成它们的标记(单词),空格和标点符号作为分隔符。因此,onetwo 成为单独的令牌,但 one-two 不是有效令牌,因此找不到任何结果。来自Cloudsearch docs

在标记化期间,字段中的文本流使用 Unicode 文本分割算法中定义的分词规则在可检测的边界上分成单独的标记。

那个 Unicode 文档is here

我希望能够搜索one-two three 并找到相关结果,以及一些其他标点符号,例如/。是否可以使用 Cloudsearch 进行配置?

【问题讨论】:

    标签: amazon-web-services amazon-cloudsearch


    【解决方案1】:

    我刚刚意识到一个可以正常工作的简单解决方案,尽管它在技术上不能回答我的问题。我只需要预处理我的查询字符串,然后将它们发送到云搜索,方法是用一个空格替换 -/ 或我想要的任何字符。

    这样,one-two three 实际上会搜索one two three,返回正确的结果。

    【讨论】:

    • 那太糟糕了,你不应该改变你的语料库来满足 AWS 的限制。不支持 WordDelimiterFilterFactory 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 2020-10-20
    • 1970-01-01
    • 2021-11-27
    相关资源
    最近更新 更多