我正在使用以下查询来搜索文档。 我的第一个查询是=
TYPE:"hr:hrdoctype" AND @cm\:name:"E1"
我的第二个查询是=
TYPE:"hr:hrdoctype" AND @cm\:name:"E2"
这里它给出了正确的结果。
但是有一个问题,就是如果我要用
TYPE:"hr:hrdoctype" AND @cm\:name:"E"
然后它显示 E1
和 E2
两个记录。但是我没有任何名称为 E
的记录。那么有没有精确匹配的呢?
在这里,我的要求是,如果我用名称 E it
进行搜索,则不应显示任何记录。只有在发生完全匹配时才应显示记录。
谁能帮我解决这个问题?
我认为这是因为它在 alfresco
中被标记化以进行全文搜索。但我的要求不同。
我正在使用 alfresco 5.0.d
请提供方法。
提前致谢。
最佳答案
有一种方法可以做到“精确匹配”,看看here .
因此,例如在您的情况下,它看起来像:
TYPE:"hr:hrdoctype" AND =@cm\:name:"E"
请务必使用 FTS 进行搜索,以便它知道确切的搜索匹配项。 在 javascript 中它看起来像:
var query = "TYPE:\"hr:hrdoctype\" AND =@cm\\:name:\"E\";
var def = {
query: query ,
language: "fts-alfresco"
};
var results = search.query(def);
关于露天 Lucene 查询仅用于精确属性匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37607914/