elasticsearch,solr,lucene,Azure,elasticsearch,Solr,Lucene" /> elasticsearch,solr,lucene,Azure,elasticsearch,Solr,Lucene" />

Azure 我们可以同时使用语音标记和同义词吗?

Azure 我们可以同时使用语音标记和同义词吗?,azure,elasticsearch,solr,lucene,Azure,elasticsearch,Solr,Lucene,我正在尝试启用语音分析器,并将同义词放在一起。它似乎不起作用。一起使用它们是错误的吗 在下面的实现中,我希望使用同义词转换搜索查询,然后使用语音分析器检索结果。但是我的同义词在这里被完全忽略了 如果在索引创建过程中删除语音分析器,那么同义词工作正常 此外,如果我使用内置的分析器,例如en.microsoft,同义词也可以正常工作;而不是自定义分析器。这是虫子吗 我的同义词地图 下面是如何创建索引的 同义词必须在语音过滤器运行之前应用,因为否则您必须将同义词与语音拼写匹配。我不熟悉Azure Se

我正在尝试启用语音分析器,并将同义词放在一起。它似乎不起作用。一起使用它们是错误的吗

在下面的实现中,我希望使用同义词转换搜索查询,然后使用语音分析器检索结果。但是我的同义词在这里被完全忽略了

如果在索引创建过程中删除语音分析器,那么同义词工作正常

此外,如果我使用内置的分析器,例如
en.microsoft
,同义词也可以正常工作;而不是自定义分析器。这是虫子吗

我的同义词地图 下面是如何创建索引的
同义词必须在语音过滤器运行之前应用,因为否则您必须将同义词与语音拼写匹配。我不熟悉Azure Search,所以我不知道你会怎么做,但这至少是问题所在:-)文档似乎没有说明这些属性需要应用的顺序。[文件链接]()。另外,在我的具体例子中,我并不期望他们两个都能发挥作用。示例:当我搜索“softvare”时,只会播放同义词地图,而不会播放语音。你的评论是基于Lucene的吗?我可以浏览他们的文档以供参考,这样思考-每个过滤器都与前一个过滤器的结果一起工作。否则就很难推断最终结果会是什么。当应用语音过滤器时,它会将输入标记转换为同一标记的语音版本(即,“traffic”可以转换为“trafik”或类似的内容)。标记转换为语音对应项后,它将不再映射到您定义的同义词(除非您定义了“trafik”的同义词),并且不能进行同义词扩展。如果您希望有不同的行为,请定义两个字段-一个用于语音搜索,另一个用于同义词扩展。这也允许您对不同的字段进行不同的权重,从而降低语音命中率。
{   
   "name":"mysynonymmap",   
   "format":"solr", 
   "synonyms": "    
    SW, Software, Softvare, software, softvare, sft\n   
    HW, Hardware, Hardvare, hardware, hardvare, hdw => hardware\n"  
}
     "name": "newphonetichotelswithsynonyms",  
     "fields": [
       {"name": "hotelId", "type": "Edm.String", "key":true, "searchable": false},
       {"name": "baseRate", "type": "Edm.Double"},
       {"name": "description", "type": "Edm.String", "filterable": false, "sortable": false, "facetable": false, "analyzer":"my_standard",  
        "synonymMaps":[ 
            "mysynonymmap"  
        ]},
       {"name": "hotelName", "type": "Edm.String", "analyzer":"my_standard",    
        "synonymMaps":[ 
            "mysynonymmap"  
        ]},
       {"name": "category", "type": "Edm.String", "analyzer":"my_standard", 
        "synonymMaps":[ 
            "mysynonymmap"  
        ]},
       {"name": "tags", "type": "Collection(Edm.String)", "analyzer":"my_standard", 
        "synonymMaps":[ 
            "mysynonymmap"  
        ]},
       {"name": "parkingIncluded", "type": "Edm.Boolean"},
       {"name": "smokingAllowed", "type": "Edm.Boolean"},
       {"name": "lastRenovationDate", "type": "Edm.DateTimeOffset"},
       {"name": "rating", "type": "Edm.Int32"},
       {"name": "location", "type": "Edm.GeographyPoint"}
      ],
  "analyzers":[
    {
      "name":"my_standard",
      "@odata.type":"#Microsoft.Azure.Search.CustomAnalyzer",
      "tokenizer":"standard_v2",
      "tokenFilters":[ "lowercase", "asciifolding", "phonetic" ]
    }
  ]
     }````