【问题标题】:Why do I have loose results from Bing News Search API query string?为什么必应新闻搜索 API 查询字符串的结果松散?
【发布时间】:2018-11-09 07:01:39
【问题描述】:

为什么会调用 Bing API 的 News Search endpoint...

https://api.cognitive.microsoft.com/bing/v7.0/news/search?q="Highwire+Press"+OR+"Chrome+River"+OR+"PCA+Predict"+OR+"Backbase"+OR+"Arrivalist"+OR+"iotec"+OR+"Signafire"+OR+"Mirriad"&sortBy=Date&textDecorations=true&textFormat=HTML

...打开这个故事https://www.bizjournals.com/philadelphia/prnewswire/press_releases/Pennsylvania/2018/05/24/MN04495

...其中包含“HighWire”,但不包含查询中给出的短语“HighWire Press”?

我在查询字符串中的多字子查询中找到其他松散示例...

为什么它似乎也会产生https://www.independent.ie/business/technology/feeding-the-future-test-tube-trees-robots-picking-fruit-and-burgers-made-without-cows-36942007.html?这似乎不包含任何匹配的内容。

【问题讨论】:

    标签: boolean microsoft-cognitive bing bing-api bing-search


    【解决方案1】:

    对于严格/逐字匹配,您可以使用“+”运算符。例如,如果您只对 Highwire Press 感兴趣,则您的查询应为 +Highwire Press。不需要引号。

    此外,如果您想在所有搜索引擎中使用严格/逐字匹配,“OR”运算符的行为是可疑的。这使得相关性排名者很难权衡看起来的单词。可能您可以针对 ORed 术语分别进行 2 个查询。

    【讨论】:

    • 1.那么我将如何做 +Highwire Press 但在查询 URL 中 - 我需要转义/编码空间吗?这是在哪里记录的?我认为引号是逐字记录的。 2. 但我确实需要进行 OR 搜索(不是这个很多,但我正在测试并需要结果)。两个查询不可行,OR 应该是有效的。在网络上搜索相同的 bing.com/news/… 似乎几乎没有这些松散的结果。
    • 1. q=%2BHighwire%20Press 应该适用于逐字 - 单个短语。 2. 您可以使用“短语 1”或“短语 2”对多个查询进行 ORing。
    • Ronak,我认为这不对。在测试中,q=%2BHighwire%20Press(又名 +Highwire Press)会分别返回匹配正文某处的“Highwire”和“Press”以及同时匹配“Highwire Press”的故事。前者错了,应该只匹配后者。
    • 我真的在为这个 API 的准确性而苦苦挣扎。我已将编码/转义切换为在 URL 中使用字符代码而不是双引号和加号(也许这是一个因素?很高兴知道)。但我仍然看到奇怪的比赛。查询 api.cognitive.microsoft.com/bing/v7.0/news/… 返回 onekindesign.com/2016/02/21/… 似乎没有任何匹配的文本。
    • 罗伯特,我看到了高线和新闻的所有结果:bing.com/…。因此,“+”运算符应该适用于逐字匹配。对于任何搜索引擎来说,“OR”通常不是一个很好的做法,因为它很难理解意图。如果您可以在这里表达,为什么“或”对您来说是必须的,可能有人可以指导替代方案。
    最近更新 更多