Поиск Solr и автоматизированная веб-публикация - могут ли они работать вместе? - PullRequest
1 голос
/ 17 августа 2010

Я имею дело с существующей веб-платформой, которая использует SOLR для генерации наборов данных на основе запросов. У нас возникла проблема с публикацией нового контента в режиме реального времени (<1 минута). Существует механизм кэширования, помогающий снизить нагрузку на серверы SOLR, но это кэширование приводит к задержке появления нового контента в наборах данных на основе запросов SOLR. </p>

Я бы хотел иметь возможность аннулировать кэш на основе запроса SOLR, который сгенерировал кэшированный элемент, но я столкнулся с камнем преткновения: с 1000+ запросами SOLR трудно понять, какой (если есть) из них применяются к данному документу. Подходы, которые мы определили до сих пор, включают:

  1. Создание экземпляра SOLR, вставка одного документа за раз и выполнение запросов для определения попадания.
  2. Создайте индекс Lucene в памяти и сделайте то же самое.
  3. Используйте другой метод (ручной анализ запроса SOLR), чтобы получить приблизительную оценку того, какие запросы затронуты.

Ничто из этого на самом деле не идеально, но без какого-либо способа «развернуть» процесс и запустить документ с помощью запросов в стиле CEP, я не уверен, что есть лучший способ.

Кто-нибудь имел дело с подобной ситуацией?

Ответы [ 2 ]

1 голос
/ 17 августа 2010

Solr генерирует ETag для всех ответов на запросы и учитывает стандартные заголовки запросов кеша HTTP, такие как If-None-Match, If-Match и т.д.вопрос координации вашей системы кеша вокруг этого.

0 голосов
/ 18 августа 2010

Я думаю, что стандартным способом является создание «индекса» из одного измененного документа (используя индекс памяти ). Затем вы выполняете тысячи запросов по этому индексу, и, если запрос совпадает, вы аннулируете кэш для этого запроса. Поскольку индекс настолько мал и полностью находится в памяти, он очень быстрый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...