Azure Search

Azure Search is a search-as-a-service solution that allows developers to incorporate a sophisticated search experience into web and mobile applications without having to worry about the complexities of full-text search and without having to deploy, maintain or manage any infrastructure

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Provide azure specific JSON ignore attribute

    I had a need to ignore properties from the search index (and not defining it as a field threw an error). The provided way to do that is a JsonIgore attribute, but in this instance I also needed to serialize the object for something else where I did need those properties.

    I worked around it by creating another azure search specific class and projecting to that, but it's a bit painful.

    Having an AzureSearchJsonIgnore attribute would mean I could use it without interfering with the rest of my code.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Client SDK  ·  Flag idea as inappropriate…  ·  Admin →

    The latest version of the .NET SDK (1.0.1-preview) allows for custom serialization via JSON.NET’s JsonConverter and IContractResolver mechanisms. These should be powerful enough to implement your own custom “JsonIgnore” attribute. Examples are available in the SDK tests on GitHub. See the “CanIndexAndRetrieveModelWithExtraProperties” test for details: https://github.com/Azure/azure-sdk-for-net/blob/AutoRest/src/Search/Search.Tests/Tests/IndexingTests.cs

  2. Support character expansion - e.g., German Eszett - ß

    In .NET text searches, using InvariantCulture, if I search for Straße, I will also get results for Strasse, and vice-versa.

    Azure Search should also support that.

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Indexing  ·  Flag idea as inappropriate…  ·  Admin →
  3. Named Entity Recognition

    Named Entity Recognition (NER) is the ability to extract entities from pieces of text. Entities can be many things but most often they are people, places and temporal derivatives.
    An implementation I have used with SolR is here https://opennlp.apache.org/documentation/1.5.3/manual/opennlp.html#tools.namefind.recognition

    I would like to see something similar in Azure Search.

    Why

    Imagine you are an investigator and you have a load of documents which potentially could yield clues. Being able to extract the entities from documents could mean being able to recognise

    Who
    Where
    When
    With Whom

    Imagine then being able to take those entities and put them into a graph…

    32 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Enterprise  ·  Flag idea as inappropriate…  ·  Admin →
  4. Apply different search terms to different sets of fields

    When I have multiple words to search on, and multiple fields to search, I would like to be able to define which search words should be used to search on which search field.

    To clarify take a look at this request:

    https://[oursearch].search.windows.net/indexes/jobs/docs?$count=true&search=admin london&searchMode=all&searchFields=jobTitle,organisation,description,location&api-version=2015-02-28

    This search terms are admin london. The fields I want to search on are title,organisation,description,location. I know london is a location so I only want to search in the location field for London but should search for "admin" in the other three fields (title,organisation,description).

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Query - Search  ·  Flag idea as inappropriate…  ·  Admin →
  5. Enable gzip compression

    I'm adding fairly large documents via the rest API in fairly large batches. Being able to compress the JSON content seems like it would have a large impact on my ability to upload 10's of millions of documents more efficiently. Gzip for the response would be nice as well as there are times I wan't to get a large resultset in my response.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
  6. Smaller than Standard plans

    There is no emulator for Azure Search so the development needs to take place in the cloud. Free plan is too small (especially the number of indexes), and Standard plan becomes expensive very quickly when you have several developers working on the same app. Each of them would have to have a separate service so they don't step on each other toes.

    29 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Pricing and Quotas  ·  Flag idea as inappropriate…  ·  Admin →
  7. Datasource can contain multiple DocumentDB collections

    Because each DocumentDB collection can be only 10GB, we had to partition our data over multiple collections (app01, app02, etc..).

    When creating a indexer Data Source, the container field can only take one collection name. We can get around the problem by creating multiple indexer and multiple data source for each documentDB collection, but it would be much easier if:


    1. DataSource's container property can accept a list of names.

    or


    1. The container property can accept regex expression. So it would be something like "container" : { "regex": "[0-9]"}

    42 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Crawlers  ·  Flag idea as inappropriate…  ·  Admin →

    DocumentDB now supports partitioned collections with potentially infinite scale (see https://azure.microsoft.com/en-us/documentation/articles/documentdb-partition-data/), and Azure Search now has support for those collections as well. This obviates the need for “old-style” explicitly partitioned collections. If you haven’t done so already, please consider switching to the new DocumentDB collections.

    Thank you for using Azure Search!
    Your Azure Search team

  8. SQL Azure indexer support for Collection(Edm.String)

    Currently migrating from FTS to Azure search. While in preview we setup our indexes with collections for some one to many data types (phone numbers, addresses, etc...) It would be nice to realize these collections with an indexer.. As far as the structure of the column we don't really have an existing structure in our system so we'd just build it based on what made the most sense for the way you process data.. I realize fundamentally that type of structure in SQL is unnatural so there's probably not something that just naturally fits. Possibly XML?

    Few thoughts
    -JSON (since…

    19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Crawlers  ·  Flag idea as inappropriate…  ·  Admin →
  9. Support for Geography SQL Server column

    Actually, the indexer returns an error if the view or the table contain a geography column, because indexer doesn't support it

    15 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Crawlers  ·  Flag idea as inappropriate…  ·  Admin →
  10. 10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  11. .NET library IndexActionType. Separate "Replace" and "Merge"

    Similar to what Azure Table is doing. Replace and Merge can be two different operations.

    With the current implementation in the SDK, because C# object types are not dynamic, to merge, we will either have to get the object first, do a manual merge (basically a replace), or use a dictionary object contains only property-value pairs we need to update.

    I think Azure Table's separation of Replace and Merge is easier to use. So when I call Merge with a model object, I don't have to worry about some fields get deleted because their value is null.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Client SDK  ·  Flag idea as inappropriate…  ·  Admin →
  12. freshness scoring profile for Date<DateTime.Now

    Right now it Azure Search can only boost items with date < DateTime.Now.

    Please provide the ability to boost items with date>DateTime.Now.

    Scenarios would be like I want to boost upcoming events that are closer to today's date.

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  13. Allowing custom analyzer for a field will help us deciding tokenization process

    We are using search service in industrial domain for searching some information in the plant. They follow some nomenclature for some of fields like BLG1TEMPReact_South. In above case i want to tokenize based on underscore and camel casing because currently it is tokenized as one word and substring is not supported. Hence currently we are pre-processing this and storing in a seperate collection<string> field. But it would be nicer if custom analyzer for some field type is allowed.

    24 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Indexing  ·  Flag idea as inappropriate…  ·  Admin →
  14. Helpful error message when creating Suggester without SourceFields and not all fields are searchable

    I've attempted to create an Index with a suggester without specifying the SourceFields. This step failed because not all fields are searchable. The failure makes sense, but the error message returned is not helpful:

    {"error":{"code":"","message":"An error has occurred."}}

    Please update the error message in this scenario to be informative. Attached is the request that failed.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  REST API  ·  Flag idea as inappropriate…  ·  Admin →
  15. Allow specifying query time analyzer

    Issueing a query with searchMode=all against multiple fields that use different analyzers may lead to unexpected results.

    Let’s take an index with two fields where one is analyzed with English Lucene analyzer, and the other with standard (default) analyzer.

    {

      &quot;fields&quot;: [
    
    {&quot;name&quot;: &quot;docId&quot;, &quot;type&quot;: &quot;Edm.String&quot;, &quot;key&quot;: true, &quot;searchable&quot;: false},
    {&quot;name&quot;: &quot;field1&quot;, &quot;type&quot;: &quot;Edm.String&quot;, &quot;analyzer&quot;: &quot;en.lucene&quot; },
    {&quot;name&quot;: &quot;field2&quot;, &quot;type&quot;: &quot;Edm.String&quot; }
    ]

    }

    Let’s add these two documents:

    {
    "value": [

        {
    
    &quot;docId&quot;: &quot;1&quot;,
    &quot;field1&quot;: &quot;Waiting for a bus&quot;,
    &quot;field2&quot;: &quot;Exploring cosmos&quot;
    },
    {
    &quot;docId&quot;: &quot;2&quot;,
    &quot;field1&quot;: &quot;Run to the hills&quot;,
    &quot;field2&quot;: &quot;run for your life&quot;
    }
    ]

    }

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Query - Search  ·  Flag idea as inappropriate…  ·  Admin →
  16. Add Azure Search service support in Japan East/West Region

    Not available search service in Japan Region even if it start to support multi language for indexing. The East Asia is bad latency and every EC sites expect to get higher latency for the search service.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. 11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Scoring  ·  Flag idea as inappropriate…  ·  Admin →
  18. wildcard sql query for node.js mobile services

    I want to be able to query using wildcard like so, [foo like '%?%', 'bar']
    I can't do this in node js on azure mobile services.

    Please add this. I can't add search feature on my app without this.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Crawlers  ·  Flag idea as inappropriate…  ·  Admin →
  19. Provide some sort of usage feedback (QPS)

    We need to see what is the average QPS use so we can know if we need another replica or some sort of auto-scaling so we can adjust when we hit high demand (maybe auto-scaled based on % of max QPS?).

    51 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Pricing and Quotas  ·  Flag idea as inappropriate…  ·  Admin →
  20. Permit bulk loading of documents from SQL server

    We have about 2.5 million documents, currently stored in a table in a SQL database on Azure.

    We would like to insert these documents into an Azure search service, hosted in the same datacentre.

    Currently the only way to do this is by reading each row and inserting using the REST API.

    Something like the request feature "Azure Search and SQL Server integration" would help in this case.

    Although that request is asking for the data to be stored in SQL, in our case we want the data to be moved from SQL.

    An alternative is for the REST API…

    12 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Crawlers  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base