2010-09-24 5 views
1

Я работаю над мобильным сайтом, который позволяет вам искать метки коллекции статей MongoDB.MongoDB C# Logging Результаты поиска

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

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

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

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

ответ

1

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

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

После каждого поискового запроса вам нужно будет создать документ, аналогичный приведенному ниже, и сохранить его в коллекции 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" ] 
    } 
    ] 
} 
+0

Спасибо! Это именно то, что я сделал. Я просто сохраняю поисковый запрос и моментальные снимки соответствующего набора результатов. В моем случае я просто сохранил идентификатор статьи. – Abe

Смежные вопросы