我们正在使用ElasticSearch实现一个仅搜索目的的解决方案,以从我们拥有的SQL Server数据库中删除一些负载。
我在这里遇到的问题是,当我在SQL Server上对文档进行排序时,它与ElasticSearch中的顺序不同。
结果:
SQL Server排序是: - ! #& @ _ 0 1 a A b
ElasticSearch排序:! #& - 0 1 @ _ A a b
我排序的字段的映射:
description":
{
"type": "nested",
"properties": {
"notAnalyzed":
{
"analyzer": "ipStrictAnalyzer",
"type": "string"
},
"analyzed":
{
"analyzer": "ipAnalyzer",
"type": "string"
}
}
分析仪:
"ipStrictAnalyzer":
{
"filter": ["lowercase","trim","ipSynonym"],
"type": "custom",
"tokenizer": "ipStrictTokenizer"
}
标记器:
"ipStrictTokenizer":
{
"type": "keyword"
}
ipSynonym过滤器实际上只是一个带有空文件的同义词过滤器。
"ipSynonym":
{
"type": "synonym",
"synonyms_path": "synonyms.txt"
}
我发送的订单:
"sort":
[
{
"description.notAnalyzed": {
"order": "desc"
}
}
],
我们可以自定义吗?
提前致谢, 马提亚。