露天 Lucene 查询仅用于精确属性匹配

标签 lucene alfresco alfresco-share

我正在使用以下查询来搜索文档。 我的第一个查询是=

TYPE:"hr:hrdoctype" AND @cm\:name:"E1"

我的第二个查询是=

TYPE:"hr:hrdoctype" AND @cm\:name:"E2"

这里它给出了正确的结果。

但是有一个问题,就是如果我要用

TYPE:"hr:hrdoctype" AND @cm\:name:"E"

然后它显示 E1E2 两个记录。但是我没有任何名称为 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/

相关文章:

yui - 如何修改小面板以自动刷新?

regex - Lucene正则表达式中的单词边界

java - 如何为 Lucene 8.2 编写 IP 地址正则表达式查询?

alfresco - Activiti中如何通过CallActivity正确传递变量?

java - 设置tomcat上下文路径

java - 使内容节点成为节点的主要父节点

alfresco - 如何在 Alfresco 4.2.2 中为 Share 编写自定义评估器?

java - 使用 Lucene 搜索带有空格的术语

solr - Lucene的doc_values是如何实现的?

workflow - 自定义或更改工作流程对话框针对 Alfresco 中的错误发出的默认消息框