同義語を見つける結果セットを返すために、エラスティック検索インデックスを取得しようとしています
var synonyms = new List<string> { "egg , embryo"};
var indexSettings = new IndexSettings();
// <snip>
indexSettings.Analysis.TokenFilters.Add("synonym",
new SynonymTokenFilter
{
Synonyms = synonyms,
Expand = false,
IgnoreCase = true,
});
Elastic Search Head を介してインデックス メタデータを調べて、作成されたインデックスにシノニム リストが含まれていることを確認しました。同義語エントリの例は次のようになります。「卵、胚」しかし、単純なクエリを実行すると、結果が得られません
return ElasticClient.Search(s => s
.Query(q => q
.QueryString(qs => qs
.Query("egg")
)
)
);
エンティティは次のようになります (関連するプロパティが表示されます)
[ElasticType(Name = "Entry", IdProperty = "Id")]
public class Entry
{
public int Id { get; set; }
public string Title { get; set; }
}
「embryo」というタイトルのエントリが索引付けされています。" => " 構文を使用して、Expand のさまざまな順列を true および false に設定してみました。