MongoDB C # Logging Результаты поиска - PullRequest
       10

MongoDB C # Logging Результаты поиска

1 голос
/ 25 сентября 2010

Я работаю на мобильном сайте, который позволяет вам искать теги в коллекции статей MongoDB.

По сути, у каждого объекта статьи есть свойство тегов, в котором хранится массив строк тегов. Поиск работает нормально, но я также хочу добавить логирование к поиску.

Причина в том, что я хочу видеть, какие посетители ищут и какие результаты они получают для оптимизации тегов.

Например, если пользователь вводит тег бакалея, я хочу сохранить результаты запроса.

Надеюсь, мой вопрос понятен. спасибо!

1 Ответ

1 голос
/ 25 сентября 2010

Вы не можете оптимизировать что-то без измерения. Вы должны быть в состоянии сравнить новые результаты со старыми результатами. Таким образом, вам нужно будет сохранить снимок всей информации , необходимой для поискового запроса. Это, очевидно, включает в себя сами условия поиска, а также точный снимок результата.

Вы можете создавать снимки целых продуктов, но, вероятно, более эффективно сохранять только информацию, связанную с определением результатов поиска. В вашем случае это теги статьи, но, возможно, также описание статьи, если оно используется вашей поисковой системой.

После каждого поискового запроса вам нужно будет создать документ, подобный следующему, и сохранить его в коллекции searchLog в MongoDB.

{
  query: "search terms",
  timestamp: new Date(), // time of the search
  results: [ // array of articles in the search result
    {
      articleId: 123, // _id of the original article
      name: "Lettuce", // name of the article, for easier analysis
      tags: [ "grocery", "lettuce" ] // snapshot of the article tags
      // snapshots of other article properties, if relevant
    },
    {
      articleId: 456,
      name: "Bananas",
      tags: [ "fruit", "banana", "yellow" ]
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...