Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MarkLogic搜索:搜索方面值与结果集不一致_Marklogic_Marklogic 9 - Fatal编程技术网

MarkLogic搜索:搜索方面值与结果集不一致

MarkLogic搜索:搜索方面值与结果集不一致,marklogic,marklogic-9,Marklogic,Marklogic 9,我们正在使用MarkLogic 9.0-4search:search,在options中定义了facet。返回的facet包含的值在结果集中不是 例如,搜索将返回city='Abbotsford',count=5的facet,并且结果集不包含city='Abbotsford'的任何项 此外,这个问题只发生在我们的应用程序中,而不是在查询控制台中,并且只发生在某些环境中:我们的2名开发人员在他们的本地开发环境中没有看到这个问题(1名开发人员看到了),我们的测试和生产环境都显示了这个问题 任何帮助都

我们正在使用MarkLogic 9.0-4
search:search
,在
options
中定义了facet。返回的facet包含的值在结果集中不是

例如,搜索将返回city='Abbotsford',count=5的facet,并且结果集不包含city='Abbotsford'的任何项

此外,这个问题只发生在我们的应用程序中,而不是在查询控制台中,并且只发生在某些环境中:我们的2名开发人员在他们的本地开发环境中没有看到这个问题(1名开发人员看到了),我们的测试和生产环境都显示了这个问题

任何帮助都将不胜感激

镶嵌面约束如下所示:

<constraint name="city" label="City">
  <range type="xs:string" collation="http://marklogic.com/collation/en">
     <path-index xmlns:ata="http://kriteachings.org/ata">/ata:user/ata:profile/ata:addresses/ata:address[@type eq "primary-residence"]/ata:place/ata:details/ata:locality</path-index>
  </range>
</constraint>

/ata:user/ata:profile/ata:addresses/ata:address[@type eq“primary residence”]/ata:place/ata:details/ata:Location
可搜索表达式各不相同,通常如下所示

<searchable-expression xmlns:ata="http://kriteachings.org/ata">xdmp:directory("/user/")/ata:user[ata:trainer-info]</searchable-expression>
xdmp:directory(“/user/”)/ata:user[ata:trainer info]

一些非常相关的信息:当我访问查询控制台时,我是一个具有
admin
角色的用户,没有发现问题。当我允许用户访问我们的一个应用时,我也没有看到问题。只有当用户不是
admin

时,才会出现问题(查看结果集中不存在的面中的值)。您可以提供城市面后面的索引的详细信息吗?这可能与区分大小写有关吗?Thx@grtjn。我添加了城市搜索选项约束作为示例。我在查询控制台中运行时得到了预期的结果。当代码通过我们的应用服务器执行时,我们会得到我引用的意外结果。如果您将search:search设置为未筛选运行,我打赌您会在结果集中看到这些结果。您正在运行哪些类型的搜索?最有可能的情况是,从结果集中筛选出的结果不正确,但没有从facets或document total中筛选出(因为它们是以未筛选的方式计算的)。要使facets和documenttotal准确,解决方案是添加额外的索引,以回答未过滤搜索当前无法回答的问题。我个人的猜测是,根据路径范围索引结构判断,您需要启用位置索引。Thx@Rob S。我们正在使用一个可搜索表达式(现在包含在上面),它肯定会消除我们在facet中看到的值。我们的facet使用的索引所涉及的数据集比可搜索表达式所涉及的数据集更大。我们仍然感到困惑的是,当在一个HTTP应用程序中运行搜索时,而不是在通过查询顾问运行
search:search
时,我们发现了这个问题。