Open JF-Cozy opened 1 year ago
Did you set enrich=true
when searching?
If yes then maybe you can try something like this if it works for you. I solved this like so:
E.g. I want to save a video transcript and search by keywords when something was said. And my file looks like so
type Transcript = {
id: string;
url: string;
transcript: Array<{
timestamp: string;
transcript: string;
}>;
};
And then I have the same problem as you. Because of that I loop over my array and create a object for each element which then looks like this
type FlexSearchDocument = {
id: string;
doc: {
id: string;
url: string;
transcript: string;
timestamp: string;
};
};
In my case this is OK since what matters most is that I get the Id and Url. However, I can't yet estimate if the file is quickly getting big because of that...
Also, #358
No I didn't set enrich=true
but tried with it, same problem so far. As the objects are quite big, and I already have them elsewhere, I prefer to keep only the ids.
When dealing with complex documents, it is recommanded to use a
foo[]:bar
syntax to index array attributes.The problem is that you can't know which value of the array matched the search in the results. For example, if we have a list of contacts that may contain several email addresses
{ emails: [{address: 'toto@domain.com'}, {address: 'tata@domain.com'}] }
, and we do a search ontata
, the result will includeemails[].address
without us knowing which email address it is precisely.Is there a way to overcome this? It would be nice to know which array value matched the search.