locked
Is it possible to use azure search to search for users and posts that are not of a user that blocked a user? RRS feed

  • Question

  • Is it possible to do search similarly to facebook's graph search on hbase with azure search? In my app I want people to be able to search for other users and posts without including posts or user profiles of users who blocked the user doing the search.

    Friday, May 6, 2016 5:55 PM

Answers

  • The short answer is yes, but probably not in a way that would be practical for a very large number of users and posts.

    There are two separate challenges to this problem:

    1. How to model users and posts. Azure Search currently does not support fields of arbitrary complex types, so you'd either have to denormalize the data, or store them in two different indexes and issue multiple queries. The tradeoffs are discussed in this thread: https://social.msdn.microsoft.com/Forums/en-US/30dfb6c2-2e79-4939-b182-bbf64e0067f3/how-to-model-nested-objects-in-an-azure-search-index-was-how-to-represent-a-list-of-code-and?forum=azuresearch
    2. How to implement the "block list". The only way to do this using Azure Search today would be to use a filter, but this doesn't scale to an arbitrarily large number of users. At this point it can handle maybe a few hundred, but you'd have to test it with a realistic dataset to make sure it's feasible for your scenario. The filter size limit in Azure Search is a hard limit though.

    Can you share any details of your scenario? In particular, what kind of data and query volumes you'd be expecting?


    Friday, May 6, 2016 7:36 PM
    Moderator

All replies

  • The short answer is yes, but probably not in a way that would be practical for a very large number of users and posts.

    There are two separate challenges to this problem:

    1. How to model users and posts. Azure Search currently does not support fields of arbitrary complex types, so you'd either have to denormalize the data, or store them in two different indexes and issue multiple queries. The tradeoffs are discussed in this thread: https://social.msdn.microsoft.com/Forums/en-US/30dfb6c2-2e79-4939-b182-bbf64e0067f3/how-to-model-nested-objects-in-an-azure-search-index-was-how-to-represent-a-list-of-code-and?forum=azuresearch
    2. How to implement the "block list". The only way to do this using Azure Search today would be to use a filter, but this doesn't scale to an arbitrarily large number of users. At this point it can handle maybe a few hundred, but you'd have to test it with a realistic dataset to make sure it's feasible for your scenario. The filter size limit in Azure Search is a hard limit though.

    Can you share any details of your scenario? In particular, what kind of data and query volumes you'd be expecting?


    Friday, May 6, 2016 7:36 PM
    Moderator
  • Marking this as answered since there has been no reply from Cheyenne Forbes.
    Monday, May 16, 2016 6:43 PM
    Moderator