I finally got the time to circle back and test Vectara with a few potential e-commerce use cases that I’m interested in. My first impression is that perhaps it isn’t suited for ecommerce product search?
One of the ecommerce areas I tested was clothing/fashion. A search for “jeans” would also match a variety of clothing related keywords such as jacket, leggings, blazer etc. (Tested with and without hybrid search.)
With that said, is there anyway to improve or fine-tune the search so that it delivers appropriate matching? Alternatively, is it possible that I’m doing something wrong?
Can you please share more about your use-case and dataset you use for this purpose?
A few thoughts/comments that may be helpful:
- Generally speaking - what types of queries do you expect to have in the application? I assume you would be first targeting queries to search for a product (like in the example you provide “jeans”) and not looking for longer question-answering type of use-case (e.g. “what types of blue jeans product do you have that are from brand X”)
- If you haven’t already, I would suggest trying different values of “lambda” (see here) in the search query. Higher values usually do better for shorter queries and navigational queries.
- When a query like “jeans” does not match - I would of course check if there is a text in the corpus that does match it. Otherwise Vectara would of course respond with the closest match that may be other items. The search API returns relevance scores that those could help you understand how relevant the first result is, the second, etc
Thanks for getting back to me. I appreciate your response.
- I expect there will be a lot of basic keyword queries, like “jeans”. But I’m testing Vectara because we have very rich product data that will allow users to search for queries like “strapless pastel dress for an evening party”.
- I have tested with various lambda values, but I will retest more extensively.
I would like to ask an additional follow-up question:
What’s the easiest way to get my inventory data into the right structure for Vectara. Needless to say I have the products stored in a database, but I can’t simply export the CSV/JSON and upload to Vectara, because Vectara uses a very specific data structure?
One common way to put CSV/JSON data about products into vectara is to create a “sentence” from the product information. For example a “sentence” (or document) can be simply something like “Product: jeans; color: blue; description: blah blah” which is a combination of various features you may have as columns or characteristics of the product in the CSV/JSON representation.
In addition, you can create meta-data fields when creating the Vectara corpus, and then when querying you can filter by those meta-data fields which can be helpful in some use-cases (see here)
Thanks Ofer, will try this out.
It would be great if Vectara could just ingest CSV/JSON files in any structure.