从Azure搜索中使用非默认计数值(10)检索分面结果

时间:2018-06-11 12:33:22

标签: azure-search

我使用Azure索引进行索引搜索。我在索引搜索背后的目标是检索唯一记录取决于一些独特的参数,例如 System_ID ,我开始使用facet功能,但在使用它时,我无法检索超过10个独特的方面,尽管在查询中提供计数值为20。

以下是摘要:

  • 即使索引中有超过10条唯一记录,我也只能检索10条唯一记录。

  • 当我将facet的 count 属性修改为20时仍然只能获得10条记录

请你帮我修改一下,我会得到10条以上的记录。

任何帮助都会很明显。 默认查询:

$filter=(systemID ne null) and (ownerSalesforceRecordID eq 'a0h5B000000gJKfQAM')&facet=machineTagSystemID,sort:value&queryType=full

默认结果:

{"machineTagSystemID": [
            {
                "count": 9,
                "value": "ABCS  test machines-111-test - change|*1XA78RUGV23PVPN"
            },
            {
                "count": 6,
                "value": "Ajit Machine testing1jjcdxxxxxxxxxxxxxx|*1L693D439H5ZNG9"
            },
            {
                "count": 19,
                "value": "Anvesh test111dsaa|*13SSNP5AJ3L96C5"
            },
            {
                "count": 3,
                "value": "Dead End cross 2|*1NK7KNNLFVTM4QC"
            },
            {
                "count": 3,
                "value": "hehehe|*1NDC32TDNXT5RAH"
            },
            {
                "count": 14,
                "value": "high2 Machine12345678ppjk fvrf|*1T2F3VQEJ58ZLQL"
            },
            {
                "count": 31,
                "value": "prashant dev machine 213|*12L343TZTFGH3M6"
            },
            {
                "count": 1,
                "value": "ryansjcilaptop465986543|*1E2PG9V3BMEYDM7"
            },
            {
                "count": 12,
                "value": "snehali DEV June|*1QXEDL8E2V8MGBY"
            },
            {
                "count": 27,
                "value": "tarun Machine-dev|*1YRPHS3J7NGUVA8"
            }
        ]}

有计数的方面:

$filter=(systemID ne null) and (ownerSalesforceRecordID eq 'a0h5B000000gJKfQAM')&facet=machineTagSystemID,sort:value,count:20&queryType=full

但结果相同:

{"machineTagSystemID": [
            {
                "count": 9,
                "value": "ABCS  test machines-111-test - change|*1XA78RUGV23PVPN"
            },
            {
                "count": 6,
                "value": "Ajit Machine testing1jjcdxxxxxxxxxxxxxx|*1L693D439H5ZNG9"
            },
            {
                "count": 19,
                "value": "Anvesh test111dsaa|*13SSNP5AJ3L96C5"
            },
            {
                "count": 3,
                "value": "Dead End cross 2|*1NK7KNNLFVTM4QC"
            },
            {
                "count": 3,
                "value": "hehehe|*1NDC32TDNXT5RAH"
            },
            {
                "count": 14,
                "value": "high2 Machine12345678ppjk fvrf|*1T2F3VQEJ58ZLQL"
            },
            {
                "count": 30,
                "value": "prashant dev machine 213|*12L343TZTFGH3M6"
            },
            {
                "count": 1,
                "value": "ryansjcilaptop465986543|*1E2PG9V3BMEYDM7"
            },
            {
                "count": 12,
                "value": "snehali DEV June|*1QXEDL8E2V8MGBY"
            },
            {
                "count": 27,
                "value": "tarun Machine-dev|*1YRPHS3J7NGUVA8"
            }
        ]}

这基于文档链接:https://docs.microsoft.com/en-us/azure/search/search-faceted-navigation

2 个答案:

答案 0 :(得分:1)

Facets支持查询中指定的过滤器。这可能就是为什么您在此字段中仅看到10个唯一构面值的原因。一般来说,您的查询看起来不错。如果在此字段中指定查询的唯一值超过10个,我希望它们会显示出来。

此查询返回多少总结果?我在您提供的各个方面中看到了125个总值,我想知道计数是否与您的结果一致。

迈克

答案 1 :(得分:0)

这是旧的,但我遇到了同样的问题 - 一个方面中返回的默认值限制为 10 个,您可以通过向给定方面添加计数来扩展它以返回更多方面值。例如:

facet=Month,count:12&search=something

这也可以在 c# API 中通过将计数添加到构面名称来完成:

var options = new SearchOptions();
options.Facets.Add("Month,count:12");