cari

Rumah  >  Soal Jawab  >  teks badan

java - solr sort mengikut susunan abjad pinyin

Terdapat medan tajuk dan saya ingin menyusunnya mengikut huruf pertama Pinyin. Terdapat kaedah dalam kaedah Solr

params.setSort("title",ORDER.asc);//排序字段,正序还是倒序

Tetapi nampaknya hasil setting ini tidak seperti yang saya inginkan Hasilnya adalah seperti berikut:

Nombor siri Tajuk Huruf awal
1 A a
2 Negara g
3 Orang r
4 Sederhana z
.

Dalam pernyataan SQL, saya boleh mengisih mengikut huruf pertama Pinyin. Saya ingin tahu sama ada saya boleh mengisih mengikut huruf pertama Pinyin dalam Solr? Apakah yang perlu saya lakukan? Bolehkah saya meminta bimbingan? ? ?

黄舟黄舟2867 hari yang lalu915

membalas semua(2)saya akan balas

  • 黄舟

    黄舟2017-05-17 10:04:57

    Anda hanya boleh mencipta medan baharu dengan "huruf pertama tajuk" sebagai nilai sebagai medan Secara umumnya, dalam aplikasi praktikal, medan tersuai digunakan sebagai syarat pengisihan

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-17 10:04:57

    Ada kaedah yang agak mudah, seperti berikut:

    List<String> strs = new ArrayList<>();
    strs.add("中");
    strs.add("啊");
    strs.add("坎");
    strs.add("哈");
    strs.add("少");
    strs.add("发");
    strs.add("顶");
    strs.add("擦");
    strs.add("鹅");
    strs.add("巴");
    
    // 排序
    strs.sort(Collator.getInstance(Locale.CHINA));
    // 打印
    strs.forEach(System.out::println);
    

    Hasil

    啊 // A
    巴 // B
    擦 // C
    顶 // D
    鹅 // E
    发 // F
    哈 // H
    坎 // K
    少 // S
    中 // Z

    Anda juga boleh menggunakan pinyin4j untuk pengisihan yang lebih kompleks

    balas
    0
  • Batalbalas