【问题标题】:Special character searching in marklogicmarklogic中的特殊字符搜索
【发布时间】:2016-03-11 22:11:58
【问题描述】:

我无法在 marklogic 中搜索带有特殊字符(?*) 和数学符号(÷) 等的内容 如果我使用÷ 搜索内容,我不会得到任何结果。

localhost:9000/v1/search?q=divide÷&collection=Math&options=searchmath&format=xml

内容:divide÷

我在元素中使用索引搜索,看起来 marklogic 没有索引 ÷ 符号。

任何想法为什么 marklogic 没有返回具有特殊字符元素的正确响应?

【问题讨论】:

  • 您检查过您的搜索选项吗?除了 mholstege 指示的内容之外,您还需要在正确的位置适当地设置术语选项以区分标点符号。

标签: unicode special-characters marklogic


【解决方案1】:

÷ 字符被索引为标点符号,也就是说,它根本没有被索引。如果您查看 tokenizer.xml,您可以看到用于标记化目的的各种字符范围内的字符分类。如果您需要索引此字符,您可以在您的字段上定义 tokenizer override

但是,在这种情况下,我希望得到错误的肯定,而不是错误的否定。获取查询计划并确保字符正确通过 URL 编码和 REST 等层可能很有用。

至于?*——这些是通配符,所以你必须确保你的查询是非通配符。同样,在非通配符查询中,这些是标点符号,而不是索引 - 您只能通过过滤搜索或精确值查询来获得准确的搜索。

【讨论】:

    猜你喜欢
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多