小编Sha*_*nas的帖子

将国际字符映射到多个选项

我想要实现的是人们在没有语言意识的情况下搜索个人的能力,但不会惩罚那些人.我的意思是:

鉴于我建立索引:

  1. 约根森
  2. 约根森
  3. 约根森

我希望能够允许这样的转换:

  1. ö到o
  2. ö到oe
  3. ø到oe
  4. ø到oe

所以,如果有人搜索:QUERY | 结果(我只包括ID,但它实际上是完整的记录)

  • 约根森回归 - 1,2,3
  • 约根森回归 - 1,2
  • Jørgensen回归 - 1,3
  • 约根根回归 - 2,3

从那开始我尝试创建索引分析器并过滤:

{
"settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "tokenizer": "keyword",
          "char_filter": [
            "my_char_filter"
          ]
        }
      },
      "char_filter": {
        "my_char_filter": {
          "type": "mapping",
          "mappings": [
            "ö => o",
            "ö => oe"
          ]
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但这是无效的,因为它试图映射到相同的字符.

我错过了什么?我需要多个分析仪吗?任何方向将不胜感激.

elasticsearch

9
推荐指数
1
解决办法
187
查看次数

用于多个框架的 Nuget 包

我正在尝试制作针对多个框架的 nuget 包。但它不起作用。csproj 文件:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
   <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
   <OutputType>Library</OutputType>
   <TargetFrameworks>net452;netstandard2.0</TargetFrameworks>
   <NuGetPackageImportStamp />
 </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

运行命令:

C:\Repos\Random\TestStuff\.nuget\nuget pack "C:\Repos\Random\TestStuff\TestPackaging\TestPackaging.csproj"
Run Code Online (Sandbox Code Playgroud)

它给了我错误:

错误 NU5012:无法找到“bin\Debug\TestPackaging\bin\Debug\”。确保项目已构建。

如果我将配置更改为:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
  <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
   <OutputType>Library</OutputType>
   <TargetFramework>netstandard2.0</TargetFramework>
   <NuGetPackageImportStamp />
 </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

一切正常。我错过了什么?更改我运行它的位置没有区别。

编辑:运行命令

C:\Repos\Random\TestStuff\.nuget\nuget pack "C:\Repos\Random\TestStuff\TestPackaging\TestPackaging.csproj" -build
Run Code Online (Sandbox Code Playgroud)

给出不同的错误:

Build succeeded.
0 Warning(s)
0 Error(s)

Time Elapsed 00:00:00.50
Packing files from 
'C:\Repos\Random\TestStuff\TestPackaging\bin\Debug\TestPackaging\bin\Debug'.
Could not find a part of the path 
'C:\Repos\Random\TestStuff\TestPackaging\bin\Debug\TestPackaging\bin\Debug'.
Run Code Online (Sandbox Code Playgroud)

与 nuspec 文件相同

msbuild nuget .net-standard

7
推荐指数
1
解决办法
3619
查看次数

标签 统计

.net-standard ×1

elasticsearch ×1

msbuild ×1

nuget ×1