Bitwise, Elasticsearch outside of App Search, Runtime Fields, and search results

We are just getting started with App Search. I think the answer is no, but in case we are missing something....

  1. Does App Search support bitwise comparisons? For example, could we store a bunch of values in one field as a bitmap and then do a bitwise comparison to see if a value exists?

  2. App Search has a 64 field limit. Is it possible to add more fields to the underlying Elasticsearch index, but only have App Search use the 64 fields it knows about? For those other fields, we would hit Elasticsearch directly.

  3. In Elasticsearch, you can have runtime fields that can be the result of a script. Does that functionality exist in App Search?

Also, when sorting by name, "ARM Holdings plc" comes up before "Aetna Inc". Does App Search sort an all capital word before proper cased words?

Hi Dan,

You are correct that App Search does not support the 1st and 3rd cases you outlined. For case #2, the field limit is configurable in enterprise-search.yml.

# Configure how many fields an engine can have.
# NOTE: The Elasticsearch/Lucene setting `indices.query.bool.max_clause_count`
# might also need to be adjusted if "Max clause count exceeded" errors start
# occurring. See more here: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-settings.html
#
#app_search.engine.total_fields.limit: 64

You do not want to directly modify the underlying Elasticsearch indices that power App Search; doing so will likely break App Search and cause issues for upgrading. I'm looking more into your question on sorting and will follow up shortly!

Thanks! We were told that going above the 64 field limit could cause performance issues. Is that the case or was there a misunderstanding?

Yes, raising that limit could impact performance negatively. If you decide to change that setting, I recommend profiling performance against some representative queries to see if any impact is within an acceptable range for your use case. You could also include tweaks in your cluster's configuration (RAM, etc.) in these experiments.

Regarding the question on sort, the raw value of the sort field is used for an alphanumeric sort. In practice, this means that capital letters will indeed sort before lowercase.

Hope this helps!

Thank you so much!