Jawa / Говнокод #4398 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
public static Document getDoc(CarPartsAd ad) {
        Document doc = new Document();
        doc.add(new Field("id", ad.getId().toString(), YES, NOT_ANALYZED));
        doc.add(new Field("mark", Long.toString(ad.getMarkId()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("model", Long.toString(ad.getModelId()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("frame", Long.toString(ad.getFrameId()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("engine", Long.toString(ad.getEngineId()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("type", Long.toString(ad.getTypeId()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("front_rear", Long.toString(ad.getFrontRear()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("right_left", Long.toString(ad.getRightLeft()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("up_down", Long.toString(ad.getUpDown()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("contact", Long.toString(ad.getContactId()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("town", Long.toString(ad.getTownId()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("part_state", Long.toString(ad.getPartState()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("original_flag", Long.toString(ad.getOriginalFlag()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("price", Integer.toString(ad.getPriceRub()), Field.Store.YES, NOT_ANALYZED));
        doc.add(new Field("price_flag", (ad.getPriceRub() > 0 ? "0" : "1"), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("date_sort", Long.toString(ad.getSort()).substring(0, 9), Field.Store.YES, NOT_ANALYZED));
        doc.add(new Field("oem", format(ad.getOem()).replaceAll(" ", "").toLowerCase(), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("producer_code", format(ad.getProducerCode()).replaceAll(" ", "").toLowerCase(), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("uplift_rating", Integer.toString(ad.getUpliftRating()), Field.Store.NO, NOT_ANALYZED));
        doc.add(new Field("ads_source", Integer.toString(ad.getAdsSource()), Field.Store.NO, NOT_ANALYZED));
        return doc;
    }

лучик ненависти авторам lucene за то, что заставляют писать такое :)

Запостил: zlob.jc zlob.jc, (Updated )

Комментарии (11) RSS

  • Лень писать? : )
    Меня смущает только последний параметр: чего это он всё время повторяется? А в остальном "всё пучком".
    Ответить
    • встречая в коде иногда пугаюсь, а как надо что то поправить пью чашку кофе для храбрасти.
      последний параметр обязательный, ну и в моем случае всегда тот же , из песни слов не выкинешь 🙂
      Ответить
  • мне особенно нравится
    Long.toString
    Integer.toString
    к этому
    ad.getId().toString

    и еще, когда нибудь ad==null

    а вообще, я думаю, и здесь можно выкрутиться и обойтись без копипасты.
    Ответить
  • так включи голову и не пиши.

    говно не в люцене, а в сабже, код можно сократить съекономив на doc.add(new Field(, toString и NOT_ANALYZED например.

    а настройки полей для индексации вынести в массив или конфиг
    Ответить
  • Ммм, автор не пробовал использовать аннотации или выносить это дело в XML, на худой конец?
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8