當前位置: 首頁>>代碼示例>>Java>>正文


Java IndexableField.stringValue方法代碼示例

本文整理匯總了Java中org.apache.lucene.index.IndexableField.stringValue方法的典型用法代碼示例。如果您正苦於以下問題:Java IndexableField.stringValue方法的具體用法?Java IndexableField.stringValue怎麽用?Java IndexableField.stringValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.lucene.index.IndexableField的用法示例。


在下文中一共展示了IndexableField.stringValue方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getValues

import org.apache.lucene.index.IndexableField; //導入方法依賴的package包/類
/**
 * Returns an array of values of the field specified as the method parameter.
 * This method returns an empty array when there are no
 * matching fields.  It never returns null.
 * If you want the actual numeric field instances back, use {@link #getFields}.
 * @param name the name of the field
 * @return a <code>String[]</code> of field values
 */
public final String[] getValues(String name) {
    List<String> result = new ArrayList<>();
    for (IndexableField field : fields) {
        if (field.name().equals(name) && field.stringValue() != null) {
            result.add(field.stringValue());
        }
    }
    return result.toArray(new String[result.size()]);
}
 
開發者ID:justor,項目名稱:elasticsearch_my,代碼行數:18,代碼來源:ParseContext.java

示例2: get

import org.apache.lucene.index.IndexableField; //導入方法依賴的package包/類
public String get(String name) {
    for (IndexableField f : fields) {
        if (f.name().equals(name) && f.stringValue() != null) {
            return f.stringValue();
        }
    }
    return null;
}
 
開發者ID:justor,項目名稱:elasticsearch_my,代碼行數:9,代碼來源:ParseContext.java

示例3: retrieveTerms

import org.apache.lucene.index.IndexableField; //導入方法依賴的package包/類
/**
 * Find words for a more-like-this query former.
 *
 * @param docNum the id of the lucene document from which to find terms
 */
private PriorityQueue<ScoreTerm> retrieveTerms(int docNum) throws IOException {
    Map<String, Int> termFreqMap = new HashMap<>();
    for (String fieldName : fieldNames) {
        final Fields vectors = ir.getTermVectors(docNum);
        final Terms vector;
        if (vectors != null) {
            vector = vectors.terms(fieldName);
        } else {
            vector = null;
        }

        // field does not store term vector info
        if (vector == null) {
            Document d = ir.document(docNum);
            IndexableField fields[] = d.getFields(fieldName);
            for (IndexableField field : fields) {
                final String stringValue = field.stringValue();
                if (stringValue != null) {
                    addTermFrequencies(new FastStringReader(stringValue), termFreqMap, fieldName);
                }
            }
        } else {
            addTermFrequencies(termFreqMap, vector, fieldName);
        }
    }

    return createQueue(termFreqMap);
}
 
開發者ID:justor,項目名稱:elasticsearch_my,代碼行數:34,代碼來源:XMoreLikeThis.java

示例4: addFreqs

import org.apache.lucene.index.IndexableField; //導入方法依賴的package包/類
private void addFreqs(Document doc, Map<String, FreqHolder> reference) {
    Set<String> addedDocFreq = new HashSet<>();
    for (IndexableField field : doc.getFields("field")) {
        String term = field.stringValue();
        FreqHolder freqHolder = reference.get(term);
        if (!addedDocFreq.contains(term)) {
            freqHolder.docFreq++;
            addedDocFreq.add(term);
        }
        freqHolder.totalTermFreq++;
    }
}
 
開發者ID:justor,項目名稱:elasticsearch_my,代碼行數:13,代碼來源:FreqTermsEnumTests.java

示例5: getValues

import org.apache.lucene.index.IndexableField; //導入方法依賴的package包/類
/**
 * Returns an array of values of the field specified as the method parameter.
 * This method returns an empty array when there are no
 * matching fields.  It never returns null.
 * For {@link IntField}, {@link LongField}, {@link
 * FloatField} and {@link DoubleField} it returns the string value of the number. If you want
 * the actual numeric field instances back, use {@link #getFields}.
 * @param name the name of the field
 * @return a <code>String[]</code> of field values
 */
public final String[] getValues(String name) {
  List<String> result = new ArrayList<>();
  for (IndexableField field : fields) {
    if (field.name().equals(name) && field.stringValue() != null) {
      result.add(field.stringValue());
    }
  }
  
  if (result.size() == 0) {
    return NO_STRINGS;
  }
  
  return result.toArray(new String[result.size()]);
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:25,代碼來源:Document.java

示例6: get

import org.apache.lucene.index.IndexableField; //導入方法依賴的package包/類
/** Returns the string value of the field with the given name if any exist in
 * this document, or null.  If multiple fields exist with this name, this
 * method returns the first value added. If only binary fields with this name
 * exist, returns null.
 * For {@link IntField}, {@link LongField}, {@link
 * FloatField} and {@link DoubleField} it returns the string value of the number. If you want
 * the actual numeric field instance back, use {@link #getField}.
 */
public final String get(String name) {
  for (IndexableField field : fields) {
    if (field.name().equals(name) && field.stringValue() != null) {
      return field.stringValue();
    }
  }
  return null;
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:17,代碼來源:Document.java

示例7: get

import org.apache.lucene.index.IndexableField; //導入方法依賴的package包/類
public static java.lang.Boolean get(IndexableField field) {
    if (field != null) {
        String s = field.stringValue();
        if (TRUE.equals(s)) return true;
        if (FALSE.equals(s)) return false;
    }
    return null;
}
 
開發者ID:Sproutigy,項目名稱:LucenePlus,代碼行數:9,代碼來源:LuceneFields.java

示例8: writeField

import org.apache.lucene.index.IndexableField; //導入方法依賴的package包/類
@Override
public void writeField(FieldInfo info, IndexableField field)
    throws IOException {

  ++numStoredFieldsInDoc;

  int bits = 0;
  final BytesRef bytes;
  final String string;

  Number number = field.numericValue();
  if (number != null) {
    if (number instanceof Byte || number instanceof Short || number instanceof Integer) {
      bits = NUMERIC_INT;
    } else if (number instanceof Long) {
      bits = NUMERIC_LONG;
    } else if (number instanceof Float) {
      bits = NUMERIC_FLOAT;
    } else if (number instanceof Double) {
      bits = NUMERIC_DOUBLE;
    } else {
      throw new IllegalArgumentException("cannot store numeric type " + number.getClass());
    }
    string = null;
    bytes = null;
  } else {
    bytes = field.binaryValue();
    if (bytes != null) {
      bits = BYTE_ARR;
      string = null;
    } else {
      bits = STRING;
      string = field.stringValue();
      if (string == null) {
        throw new IllegalArgumentException("field " + field.name() + " is stored but does not have binaryValue, stringValue nor numericValue");
      }
    }
  }

  final long infoAndBits = (((long) info.number) << TYPE_BITS) | bits;
  bufferedDocs.writeVLong(infoAndBits);

  if (bytes != null) {
    bufferedDocs.writeVInt(bytes.length);
    bufferedDocs.writeBytes(bytes.bytes, bytes.offset, bytes.length);
  } else if (string != null) {
    bufferedDocs.writeString(field.stringValue());
  } else {
    if (number instanceof Byte || number instanceof Short || number instanceof Integer) {
      bufferedDocs.writeInt(number.intValue());
    } else if (number instanceof Long) {
      bufferedDocs.writeLong(number.longValue());
    } else if (number instanceof Float) {
      bufferedDocs.writeInt(Float.floatToIntBits(number.floatValue()));
    } else if (number instanceof Double) {
      bufferedDocs.writeLong(Double.doubleToLongBits(number.doubleValue()));
    } else {
      throw new AssertionError("Cannot get here");
    }
  }
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:62,代碼來源:CompressingStoredFieldsWriter.java

示例9: getValues

import org.apache.lucene.index.IndexableField; //導入方法依賴的package包/類
/**
 * Returns an array of values of the field specified as the method parameter.
 * This method returns an empty array when there are no
 * matching fields.  It never returns null.
 * For {@link org.apache.lucene.document.IntField}, {@link org.apache.lucene.document.LongField}, {@link
 * org.apache.lucene.document.FloatField} and {@link org.apache.lucene.document.DoubleField} it returns the string value of the number.
 * If you want the actual numeric field instances back, use {@link #getFields}.
 * @param name the name of the field
 * @return a <code>String[]</code> of field values
 */
public final String[] getValues(String name) {
    List<String> result = new ArrayList<>();
    for (IndexableField field : fields) {
        if (field.name().equals(name) && field.stringValue() != null) {
            result.add(field.stringValue());
        }
    }
    return result.toArray(new String[result.size()]);
}
 
開發者ID:baidu,項目名稱:Elasticsearch,代碼行數:20,代碼來源:ParseContext.java


注:本文中的org.apache.lucene.index.IndexableField.stringValue方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。