我无法在marklogic中搜索带有特殊字符(?*)
和数学符号(÷)
等的内容如果我搜索内容÷
,我不会得到任何结果.
localhost:9000/v1/search?q=divide÷&collection=Math&options=searchmath&format=xml
内容: divide÷
我在元素中使用索引搜索,看起来像marklogic不是索引÷
符号.
任何想法为什么marklogic没有返回具有特殊字符元素的正确响应?
该÷
字符被索引为标点符号,也就是说,它根本没有索引.如果查看tokenizer.xml,您可以看到各种字符范围内的字符分类,以便进行标记化.如果需要将此字符编入索引,则可以在字段上定义标记化器覆盖.
不过,我希望假阳性而不是假阴性在这种情况下.获取查询计划并确保角色正确地通过URL编码和REST等层进行查询计划可能很有用.
至于?
和*
- 这些是通配符,所以你必须确保你的查询是unwildcarded.同样,在非通配符查询中,这些是标点符号,而不是索引 - 您只能通过过滤搜索或精确值查询来获得准确的搜索.