- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在ElasticSearch 7.x中,我使用具有synonym filter的分析器为数据字段建立了索引。
但是,为了支持增强与数据字段中与同义词匹配的查询词“完全”匹配数据字段中的查询词的查询,我将使用 search_analyzer
。
为此,对于我要完全匹配的查询,我想提供一个没有同义词过滤器的分析器。这可以通过search_analyzer
完成。但是,我的主要查询是 multi_match
查询,用于在所有所需字段(且具有不同的重要性(增强))上搜索这些术语。
似乎ElasticSearch在search_analyzer
查询中不允许使用multi-match
。
有哪些选择?当我在具有不同提升(重要性权重)的不同字段中进行搜索时,要么是为了我的高级解决方案(使确切的单词超出其同义词),要么是为了合并search_analyzer
。
PS:我不想用同义词分析器重新索引数据字段,而又不用同义词分析器。
最佳答案
Search_analyzer
是索引时间的param,因此,如果要为具有同义词的字段设置它:
{
"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
,则可以
force to use a specific analyzer at query time在查询中添加
analyzer
参数:
{
"query": {
"multi_match" : {
"query": "bread cereal",
"analyzer" : "standard",
"type": "cross_fields",
"fields": [
"description",
"content"
],
"operator": "and"
}
}
}
关于elasticsearch - ElasticSearch:[multi_match]查询不支持[search_analyzer],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61282157/
我有一个小问题,我开始使用Elasticsearch,并在使用curl脚本测试时遇到了这个问题。 curl -XGET 'localhost:9200/fcomputer/products/_sear
我试图重建我的 flex 搜索查询,因为我发现没有收到要查找的所有文档。 因此,假设我有这样的文档: { "id": 1234, "mail_id": 5, "sender": "john
我的记录可以对单个文本字段进行多种翻译,例如: { "type": "movie", "title": { "en": "Dark Knight", "de": "Der du
谁能告诉我这两者的区别 "query": { "bool": { "should": [ { "match": {"title": keyword} }
所以我们得到了一个 elasticsearch 实例,但是一个工作需要“组合搜索”(一个搜索字段,带有针对特定索引的 types 的复选框) 这很好,我只是将这种搜索应用于我的索引(为简洁起见:/po
我有一个具有名称和姓氏属性的用户对象。我想使用一个查询来搜索这些字段,并且在文档中找到了 multi_match,但我不知道如何将其与通配符一起正确使用。是否可以? 我尝试使用 multi_match
我有以下功能可以在 elasticsearch 中搜索结果。 我想用 PHP 和 Guzzle 执行以下请求。 /** * {@inheritdoc} */ public func
我在向嵌入在function_score内的现有多重匹配查询中添加过滤器时遇到问题。 理想情况下,我想按"term" : { "lang" : "en" }进行过滤,只获取英语版本的文档。 我尝试移动
我在 Elasticsearch 中使用以下 multi_match 查询,我想知道我是否可以仅对“friendly_name 字段”使用模糊性。我尝试过不同的东西,但似乎没有用。我还想知道是否有可能
我在简单的匹配查询中使用了 ES 的高亮显示: GET /_search { "query": { "match": { "Text": "key words he
如何为 multi_match 查询添加模糊性?因此,如果有人要搜索“basball”,它仍然会找到“baseball”文章。目前我的查询是这样的: POST /newspaper/articles/
在ElasticSearch 7.x中,我使用具有synonym filter的分析器为数据字段建立了索引。 但是,为了支持增强与数据字段中与同义词匹配的查询词“完全”匹配数据字段中的查询词的查询,我
我想使用ElasticSearch搜索我的产品集合。 如果我有这样的对象: { name: "Product Name", producer: "Best Producer"} 我想通过搜索找到该对象
我正在尝试在 ElasticSearch 中编写一个查询,在其中我将 multi_match 与过滤器结合起来用于 id 或数字 og id。 这是我目前所拥有的: { "query": {
我有一个包含条目的数据库 title: This is my awesome title abstract: A more detailed descriptions of what [...] 我想
我尝试学习 Elasticsearch 以将其添加到我的 Rails 应用程序中。我想对 2 个字段执行 multi_match 查询(就好像它们只是一个字段一样),并且还有一个必须等于 1 的另
我在 Elasticsearch 中使用 multi_match 查询: { "query": { "multi_match": { "query": "luk",
我有一个类型为 cross_fields 的 multi_match 查询,我想通过前缀匹配对其进行改进。 { "index": "companies", "size": 25, "fro
运行此查询时: { "query_string" : { "query" : "text", "fields": ["field1", "field2"] } } - {
示例查询: { "from": 0, "query": { "filtered": { "query": { "
我是一名优秀的程序员,十分优秀!