小编Ofi*_*r Z的帖子

MongoDB C# 驱动程序 - 在 _id 上执行“IN”查询的最快方法

我正在尝试根据 ID 位于特定 ID 集合中的项目从集合中获取值。

我当前构建过滤器的代码是:

        IEnumerable<string> IDList;

        using (var enumerator = IDList.GetEnumerator())
        {
            if (enumerator.MoveNext() == false) return null; // empty collection

            // take the first key
            var key = enumerator.Current;
            filter = Builders<MyClass>.Filter.Eq(p => p.Key, key);

            // take all the other keys
            while (enumerator.MoveNext())
            {
                var innerKey = enumerator.Current;
                filter = filter | Builders<MyClass>.Filter.Eq(p => p.Key, innerKey);
            }
        }
Run Code Online (Sandbox Code Playgroud)

然后我获取物品的代码是:

        List<MyClass> values = new List<MyClass>();

        using (var cursor = await MyCollection.FindAsync(filter))
        {
            while (await cursor.MoveNextAsync())
            {
                values.AddRange(cursor.Current);
            } …
Run Code Online (Sandbox Code Playgroud)

c# performance mongodb mongodb-query mongodb-.net-driver

4
推荐指数
1
解决办法
4944
查看次数

ElasticSearch用分数按字母顺序对查询进行排序

是否可以选择通过索引设置或映射的某些更改按字母顺序对查询进行排序?

我知道有一个“排序”查询,但是删除了分数,并且我希望除了该术语的字母排序之外,还要考虑分数。

例如,如果结果“ A”和“ Z”的得分为2,而“ C”的得分为1,我希望顺序为:

一种

ž

C

这可能吗?

这是我当前的索引设置和映射:

{
   "users": {
      "settings": {
         "index": {
            "analysis": {
               "filter": {
                  "shingle_filter": {
                     "max_shingle_size": "2",
                     "min_shingle_size": "2",
                     "output_unigrams": "true",
                     "type": "shingle"
                  },
                  "edgeNGram_filter": {
                     "type": "nGram",
                     "min_gram": "1",
                     "max_gram": "20"
                  }
               },
               "analyzer": {
                  "autocomplete_query_analyzer": {
                     "filter": [
                        "standard",
                        "asciifolding",
                        "lowercase"
                     ],
                     "tokenizer": "standard"
                  },
                  "autocomplete_index_analyzer": {
                     "filter": [
                        "standard",
                        "asciifolding",
                        "lowercase",
                        "shingle_filter",
                        "edgeNGram_filter"
                     ],
                     "tokenizer": "standard"
                  }
               }
            },
            "number_of_shards": "1",
            "number_of_replicas": "1"
         }
      }
   }
}

{ …
Run Code Online (Sandbox Code Playgroud)

sorting indexing elasticsearch

0
推荐指数
1
解决办法
1015
查看次数