首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RavenDB DeleteByIndex

RavenDB DeleteByIndex
EN

Stack Overflow用户
提问于 2012-12-12 18:43:20
回答 1查看 774关注 0票数 3

我正在做一个网络爬虫,保存到乌鸦的结果可以根据网站的大小而有所不同。我正在尝试删除一个特定的结果,这个结果已经超过了“每个会话的服务器数限制为30",我不想将其扩展到1000个限制,但是我确实想批量删除。

我所写的代码,我认为应该可以工作

代码语言:javascript
复制
    public void DeleteCrawledLinks(string baseUrl)
    {

        DocumentStore().DatabaseCommands.DeleteByIndex(
            "Auto/UrlContainers/ByBaseUrlAndUrl",
            new IndexQuery
            {
                Query = "BaseUrl:" + baseUrl // where BaseUrl contains baseUrl
            }, allowStale: false);
     }

在本示例中,Raven中的BaseUrl我们将其命名为" baseUrl ":"http://localhost:2125/“,baseUrl将是相同的,当我运行delete函数时,我收到以下错误消息

网址:"/bulk_docs/Auto/UrlContainers/ByBaseUrlAndUrl?query=BaseUrl%253Ahttp%253A%252F%252Flocalhost%253A2125%252F&start=0&pageSize=128&aggregation=None&allowStale=False“

System.ArgumentException:字段'http‘未编制索引,无法查询未编制索引的字段

这是因为:在我的查询中,有没有办法解决这个问题,还是有别的办法?我不想扩展限制,因为我抓取的站点可能会返回超过1000个结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-13 02:37:18

在自己构造查询时,按如下方式转义搜索词:

代码语言:javascript
复制
Query = "BaseUrl:" + RavenQuery.Escape(baseUrl)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13837958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档