Esempio n. 1
0
  /**
   * This takes a Map of keys and business object entries and indexes all indexes attributes in one
   * method call.
   *
   * @param entries
   */
  public void indexAll(Map<RK, A> entries) {
    if (entries.size() > 0) {
      try {
        Map<String, Map<RK, String>> fentries = new HashMap<String, Map<RK, String>>();
        for (Field f : indexedFields) {
          Map<RK, String> m = new HashMap<RK, String>();
          fentries.put(f.getName(), m);
        }

        for (Map.Entry<RK, A> e : entries.entrySet()) {
          A bo = e.getValue();
          RK key = e.getKey();

          for (Field f : indexedFields) {
            String value = (String) f.get(bo);
            Map<RK, String> m = fentries.get(f.getName());
            m.put(key, value);
          }
        }

        for (Field f : indexedFields) {
          Map<RK, String> m = fentries.get(f.getName());
          Index<A, RK> index = getIndex(f.getName());
          index.insert(m);
        }
      } catch (IllegalAccessException e) {
        throw new ObjectGridRuntimeException(e);
      }
    }
  }
Esempio n. 2
0
 /** Indexes one token. */
 public void insertIntoIndex(int docID, String token, int offset) {
   index.insert(token, docID, offset);
 }