在ElasticSearch7.x中,我使用一个具有同义词过滤器的分析器对数据字段进行了索引。但是,为了支持增强“完全”匹配数据字段中的查询词的查询,而不是匹配数据中的同义词的查询,我将使用search_analyzer
。
为此,对于我想要精确匹配的查询,我想提供一个在其中没有同义词过滤器的分析器。这可以通过search_analyzer
来完成。但是,我的主要查询是multi_match
查询,用于在所有需要的字段上搜索这些术语(并且具有不同的重要性(boosting))。
似乎ElasticSearch不允许multi-match
查询中的search_analyzer
。有哪些可供选择的方案?对于我的高级解决方案(将确切的单词增强到同义词之上),或者当我以不同的增强(重要性权重)在不同的字段中搜索时合并search_analyzer
。
PS:我不想重新索引数据字段,一个有同义词分析器,另一个没有。
search_analyzer
是索引时间的参数,因此如果要为具有同义词的字段设置它:
{
"settings": {
"index" : {
"analysis" : {
"analyzer" : {
"synonym" : {
"tokenizer" : "whitespace",
"filter" : ["synonym"]
}
},
"filter" : {
"synonym" : {
"type" : "synonym",
"synonyms_path" : "analysis/synonym.txt"
}
}
}
}
}, "mappings" : {
"properties" : {
"description" : {
"type" : "text",
"analyzer": "synonym",
"search_analyzer": "standard"
},
"content" : {
"type" : "text",
"analyzer": "synonym",
"search_analyzer": "standard",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
这样,您就为查询时间设置了默认分析器。因此您现在可以通过以下方式执行multimatch
查询:
{
"query": {
"multi_match" : {
"query": "bread cereal",
"type": "cross_fields",
"fields": [
"description",
"content"
],
"operator": "and"
}
}
}
如果在索引时没有为这些字段设置特定的search_analyzer
,则在查询时使用用于指示的相同分析器。如果在索引时间没有设置search_analyzer
,则可以在查询时间强制使用特定的分析器,将analyzer
param放入查询:
{
"query": {
"multi_match" : {
"query": "bread cereal",
"analyzer" : "standard",
"type": "cross_fields",
"fields": [
"description",
"content"
],
"operator": "and"
}
}
}
我是弹性出版社的新手,在Wordpress多网络站点上遇到了一些问题,在尝试执行WP-Query时遇到了这个异常: 由:SearchParseException[未能解析搜索源[{“from”:0,“size”:3,“sort”:[{“_score”:{“order”:“desc”}}],“query”:{“bool”:{“shoul”:[{“multi_match”:{“query”:“test
我在Elasticsearch中有一个查询,我希望在多个字段上进行匹配以获得恒定分数 但我得到以下错误: "[constant_score]查询不支持[multi_match]",
我已经检查了我正在使用所有最新的NuGet库版本。有人能给我提示一下还有什么要查吗?这是代码:
这里是我的问题:我从amazon dynamodb api中读到,for query中的条件意味着检查列表*中的匹配元素,但为什么它返回错误:*查询键条件不受支持? aws dynamodb查询--表名Music--关键条件{“艺术家”:{“AttributeValueList”:[{“S”:“Wangdong”}、{“S”:“Acme Band”}]、“ComparisonOperator”:“
我正在尝试查询我的dynamodb表以获取提要\u guid和状态\u id=1。但它返回查询键条件不受支持的错误。请查找我的表架构和查询。 以下是我更新该表的查询。
我需要帮助来完成Woocommerce产品列表的SQL查询。我需要将其用于WPDataTableSQL输入。 我搜索了一个示例代码,并修改了找到的代码: 它可以工作,但没有可变产品的产品行。它只显示产品的主要变化。 产品牛排:我有6种不同的牛排作为自己的产品,价格不同,重量也不同。通过我的SQL查询,我只能看到主产品“牛排”,没有变化和变化价格。 表wp_员额 表wp_Posteta- wp_术语