我正在使用SharePoint Search API并引用链接SharePoint Search REST API overview。我想使用属性运算符。请参阅链接Keyword Query Language (KQL) syntax reference
中的“属性限制支持的属性运算符”部分我正在形成http://server/_api/search/query?querytext='AmountCurrency > 10.50'&selectproperties='Title,Author'
同样http://server/_api/search/query?querytext='AmountNumber < 20.50'&selectproperties='Title,Author'
在上面的查询中,AmountCurrency和AmountNumber分别是Currency列和Number列的托管属性。但搜索api不会退回任何一行。对我来说:和=运营商工作正常。如何在搜索API中使用大于和小于运算符?
答案 0 :(得分:0)
确保您使用的字段名称在搜索架构中的托管属性中定义。
或者您可以使用SharePoint Search Query Tool构建查询。
答案 1 :(得分:0)
知道了。这是由于托管属性类型。以下是我们创建托管属性时的可用类型。
当为站点列自动创建托管属性时,默认类型为Text。手动创建托管属性时,Search Service应用程序管理员可以选择任何类型。所有其他用户可以选择文本或是/否。
我不是SSA管理员。所以我使用了默认的未使用托管属性。请参考https://technet.microsoft.com/en-us/library/jj219667.aspx#Anchor_8。使用RefinableDecimal00
和RefinableDecimal01
并将适当的已爬网属性映射到它们。现在一切正常了