locked
How to make a field filterable ? ( We have uploaded all our data already) RRS feed

  • Question

  • How to make a field filterable? We have already uploaded our data and don't want reindex everything.

    I know one alternative is to create new column and upload the data again. This might take long time for us(4 million records)

    Friday, July 21, 2017 3:17 PM

Answers

  • Hi WindowsAgent,

    For now, after you mark a field as filterable you will need to reindex again.  The workaround you provide will work, but as you say it will take some time. 

    -Luis Cabrera


    Luis Cabrera. Program Manager -- Azure Machine Learning @luisito_cabrera Disclaimer: This post is provided AS IS - with no warranties, and confer no rights.

    Wednesday, July 26, 2017 12:22 AM
    Moderator

All replies

  • Hi WindowsAgent,

    For now, after you mark a field as filterable you will need to reindex again.  The workaround you provide will work, but as you say it will take some time. 

    -Luis Cabrera


    Luis Cabrera. Program Manager -- Azure Machine Learning @luisito_cabrera Disclaimer: This post is provided AS IS - with no warranties, and confer no rights.

    Wednesday, July 26, 2017 12:22 AM
    Moderator
  • Thank you for confirming the limitations.

    I know changing datatype is not allowed on the portal. I think admin should be able to edit options like searchable , filterable, facetable for any field without adding new column work around. Adding new column option force us to modify our index code. We don't mind updating data on the modified columns. Data update happens all the time.

    Wednesday, July 26, 2017 2:50 AM
  • Thanks for the feedback. The limitation is not due to admin/non-admin roles, but rather a result of how Azure Search indexes content. Azure Search is fast because all allowed access paths are indexed, so changing a field from non-filterable to filterable is not just a matter of adjusting configuration, it would still require that we re-build the index under the covers (since we can't support the filtering functionality without an actual index backing it and still keep it fast). 

    For 4 million documents you might be able to update a new field relatively quickly (not a few minutes, but not a day either). You wouldn't need to update all content, just the new field, using "merge" operations in indexing batches to only send the document key and the new value, leaving the rest of each document intact. ("merge" is documented here for .NET SDK, here for the REST API).


    This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, July 26, 2017 4:36 PM
    Moderator
  • Thank you for your explanation and suggestion. We keep track of all the changes in a row level. if we have to use merge option , we have to keep track of each column changes in our source SQL table.  

    If customers are willing to wait for the re-indexing to complete(when any configuration changes occurs), allowing users to change the configuration should be permitted. This makes life easier than any other options.


    Thursday, July 27, 2017 5:43 PM