如何解决在 Alfresco FTS 中使用特殊字符完全匹配
我正在尝试使用 API 在 Alfresco 5.2.7 中以 Alfresco FTS 语言执行查询,以突出显示一些结果。只要我没有特殊字符,一切都很好。当我尝试执行查询以搜索(完全匹配)“名称?”一词时,问题就出现了。我无法逃避问号,以便能够强制查询与整个单词一起搜索问号。突出显示数组中的结果始终没有特殊字符。 这是我的功能查询:
{
"query": {
"language": "afts","query": "(content:\"content\") AND TYPE:\"cm:content\""
},"paging": {
"maxItems": 100,"skipCount": 0
},"scope": {
"locations": "nodes"
},"highlight": {
"snippetCount":10,"mergeContiguous": true,"fields": [
{
"field": "cm:content"
}
]
}
}
{
"list": {
"pagination": {
"count": 1,"hasMoreItems": false,"totalItems": 1,"skipCount": 0,"maxItems": 100
},"context": {},"entries": [
{
"entry": {
"isFile": true,"createdByUser": {
"id": "admin","displayName": "Administrator"
},"modifiedAt": "2021-01-15T15:29:03.275+0000","nodeType": "miims:contenytrOPI","content": {
"mimeType": "text/html","mimeTypeName": "HTML","sizeInBytes": 489,"encoding": "UTF-8"
},"parentId": "8b7c5c54-293b-4c95-a850-824efd402667","createdAt": "2020-12-22T08:12:12.369+0000","isFolder": false,"search": {
"score": 0.21531886,"highlight": [
{
"field": "cm:content","snippets": [
"\n\n\n2??3pppusa\n2 <em>content</em>?"
]
}
]
},"modifiedByUser": {
"id": "admin","name": "nodeName","location": "nodes","id": "b7811537-b3af-47bf-9f9c-c4bfaa43832a"
}
}
]
}
}
问题很简单:如何强制 FTS 忽略像“?”这样的特殊字符或“*”并以字面方式搜索这些字符?我试过?要么 /?在查询中,没有结果。
解决方法
通过反斜杠转义特殊字符,这应该非常简单。
https://docs.alfresco.com/4.2/concepts/rm-searchsyntax-escaping.html https://lucene.apache.org/core/4_0_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#Escaping_Special_Characters
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。