public override void WriteField(JsonWriter writer, object value, JsonSerializer serializer) { StringFieldType stringField = (StringFieldType)value; if (stringField == null) { return; } writer.WritePropertyName("type"); writer.WriteValue(stringField.GetType()); if (stringField.TermVector != TermVector.No) { writer.WritePropertyName("term_vector"); writer.WriteValue(stringField.TermVector.ToString().ToLower()); } writer.WritePropertyName("analyzer"); writer.WriteValue(stringField.Analyzer); writer.WritePropertyName("index_analyzer"); writer.WriteValue(stringField.IndexAnalyzer); writer.WritePropertyName("search_analyzer"); writer.WriteValue(stringField.SearchAnalyzer); }
public void TestStringFieldType() { StringFieldType stringFieldType = new StringFieldType(); var s = "Hello World!"; Assert.AreEqual("Hello World! ", stringFieldType.Format(s, 15)); stringFieldType.AlignRight = true; Assert.AreEqual(" Hello World!", stringFieldType.Format(s, 15)); Assert.AreEqual("Hello", stringFieldType.Format(s, 5)); stringFieldType.ReplacementList.Add("Hello", "Hi"); stringFieldType.ReplacementList.Add("World", "Everybody"); Assert.AreEqual("Hi Everybody!", stringFieldType.Format(s, null)); var iban = "FR1420041010050500013M02606"; stringFieldType.AlignRight = false; stringFieldType.StartPosition = 4; Assert.AreEqual("20041010050500013M02606", stringFieldType.Format(iban, null)); stringFieldType.EndPosition = 9; Assert.AreEqual("20041", stringFieldType.Format(iban, null)); Assert.AreEqual("20041 ", stringFieldType.Format(iban, 7)); stringFieldType.StartPosition = 9; stringFieldType.EndPosition = 14; Assert.AreEqual("01005", stringFieldType.Format(iban, null)); stringFieldType.StartPosition = 14; stringFieldType.EndPosition = 25; Assert.AreEqual("0500013M026", stringFieldType.Format(iban, null)); stringFieldType.StartPosition = 25; stringFieldType.EndPosition = 27; Assert.AreEqual("06", stringFieldType.Format(iban, 2)); }