我们有一个要求,我们认为它是多搜索查询的候选人,但我们不确定。
说我们正在卖衣服。
用户可以输入诸如衬衫之类的衣服,然后我们使用过滤器将所有衬衫带回。
我们还希望为用户提供一个选项,让他们键入诸如“formal”或“beach”之类的关键字。但是此关键字不应影响结果,而是用标记来标识这些关键字在结果中出现了哪些项目。
任何建议将不胜感激。
最佳答案
那使用Named Queries呢?
想法是,Elasticsearch的此功能允许用户使用标识特定子句的_name
值标记查询中的每个子句。如果特定的子句(例如,带有“正式”关键字的子句或带有“beach”关键字”的子句)匹配,则响应将包括matched_queries
属性,每个结果都指出匹配了哪个特定项。
另一种选择是使用Highlights。该功能确实允许您指定单独的highlighting query。但是,此处的响应格式可能不那么直接或无法满足您的要求。
关于elasticsearch - Elasticsearch 查询不仅可以识别结果,还可以突出显示满足特定属性的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58634144/