私は Web クローラーに取り組んでおり、Raven に保存される結果は、Web サイトの大きさによって異なる場合があります。「セッションあたりのサーバーは 30 に制限されています」を超えた特定の結果を削除しようとしていますが、1,000 の制限まで拡張したくありませんが、一括削除したいと考えています。
私が書いた、うまくいくはずのコードは
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 関数を実行すると、このエラー メッセージが表示されます。
URL: "/bulk_docs/Auto/UrlContainers/ByBaseUrlAndUrl?query=BaseUrl%253Ahttp%253A%252F%252Flocalhost%253A2125%252F&start=0&pageSize=128&aggregation=None&allowStale=False"
System.ArgumentException: フィールド 'http' はインデックス化されていないため、インデックス化されていないフィールドに対してクエリを実行できません
私のクエリの : が原因ですか、これを回避する方法はありますか、それとも別の方法がありますか? クロールするサイトには 1,000 件を超える結果が返される可能性があるため、制限を延長したくありません。