当前位置: 首页 > 知识库问答 >
问题:

找不到符号:class NumberTools

漆雕升
2023-03-14
  ##########################JmeterResultsWriter.java ##################

    package com.atlassian.bamboo.plugins.jmeter_aggregator.index;

    import java.util.Map;

    import org.apache.lucene.document.Document;
    import org.apache.lucene.document.Field;
    import org.apache.lucene.document.NumberTools;
    import org.apache.lucene.document.Field.Index;
    import org.apache.lucene.document.Field.Store;
    import org.jetbrains.annotations.NotNull;

    import com.atlassian.bamboo.index.CustomPostBuildIndexWriter;
    import com.atlassian.bamboo.plugins.jmeter_aggregator.builder.JmeterBuildDataHelper;
    import com.atlassian.bamboo.plugins.jmeter_aggregator.Sampler;
    import com.atlassian.bamboo.resultsummary.BuildResultsSummary;
    import com.thoughtworks.xstream.XStream;

    public class JmeterResultsWriter implements CustomPostBuildIndexWriter
    {
        public static final String JMETER_AGGREGATOR_NINETY_PERECENT = "jmeter.aggregator.ninety.percent";
        public static final String JMETER_AGGREGATOR_MEDIAN = "jmeter.aggregator.median";
        public static final String JMETER_AGGREGATOR_THROUGHPUT = "jmeter.aggregator.throughput";

        @SuppressWarnings("unchecked")
        public void updateIndexDocument(@NotNull Document doc, @NotNull BuildResultsSummary summary)
        {
            Map<String, String> data = summary.getCustomBuildData();
            String xmlData = data.get(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP);
            if (xmlData != null)
            {
                String xmlTotal = data.get(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL);
                XStream xstream = new XStream();
                Sampler sampler = (Sampler) xstream.fromXML(xmlTotal);

                // Store the total and xmldata unindexed.
               doc.add(new Field(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP, xmlData, Store.COMPRESS, Index.NO));
               doc.add(new Field(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL, xmlTotal, Store.COMPRESS,
                  Index.NO));
    }
      }
       }

    ################### JmeterResultsReader.java ###################
      package com.atlassian.bamboo.plugins.jmeter_aggregator.index;

      import java.util.Map;

      import org.apache.lucene.document.Document;
      import org.apache.lucene.document.Field;

      import com.atlassian.bamboo.index.CustomIndexReader;
      import com.atlassian.bamboo.plugins.jmeter_aggregator.builder.JmeterBuildDataHelper;
      import com.atlassian.bamboo.resultsummary.BuildResultsSummary;

      public class JmeterResultsReader implements CustomIndexReader
      {

           public void extractFromDocument(Document doc, BuildResultsSummary summary)
           {
                Map<String, String> results = summary.getCustomBuildData();
                Field dataField = doc.getField(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP);
                if (dataField != null)
                {
                    results.put(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP, dataField.stringValue());
                }
                Field totalField = doc.getField(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL);
                if (totalField != null)
                {
                   results.put(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL, totalField.stringValue());
                }
            }
       }

共有1个答案

彭成天
2023-03-14

正如注释中所述,当您使用Lucene4.x时,您使用的是为Lucene3.x编写的代码。NumberTools在4.0中被删除(从2.9开始,可能更早)。

对于数字字段,您应该使用适当的字段类型,而不是自己进行任何花哨的转换。例如,longfieldintfield

如果您确实必须自己转换值,Numericutils将替换旧的NumberTools的功能。所以不是:

string s = NumberTools.longToString(longval);
//index the string...
BytesRef longvalRef = new BytesRef();
NumericUtils.longToPrefixCoded(longval, 0, longvalRef);
//index the BytesRef...

不过,实际上应该使用longfield。请参见关于Numericutils的说明:

注意:此API仅用于内部目的,在下一个版本中可能会以不兼容的方式进行更改。

例如,在4.0和4.10中,它肯定有。

 类似资料:
  • DBHelper。JAVA LoginSevlet.java 我正在尝试访问LoginServlet中的DBHelper类,而编译i做了javac DBHelper.javajavac-cp"C:\User\dell\Desktop\MYServlet\WEB-INF\lib\servlet-api-2.5.jar;"LoginServlet.javaLoginServlet.java:13:错误

  • 问题内容: 如果这是一个怪异的问题,我感到很抱歉,但是我刚刚开始OOP,并遇到了一个我应该制作的简单菜单驱动数学程序。我清除了编译器给我的所有错误,但是现在它给了我大约14个新错误,其中大多数被描述为“找不到符号”。这是我的代码: 这是新的编译器输出: 问题答案: 您从未在方法的主体中定义变量。尝试在方法中添加。简单地定义的变量并 没有 放弃对它的访问。如果要避免多次创建实例,可以执行以下操作 然

  • 问题内容: 我正在尝试为计算器编写第一个单元测试,但是NetBeans表示找不到符号和注释。 我应该包括一些东西吗? 我正在使用NetBeans 7.3.1和W7。 编辑:谢谢大家,将其导入为静态帮助。测试注释仅需包括 导入org.junit.Test; 问题答案: 是静态方法。由于不能使用静态方法而没有以静态方式显式导入它们,因此必须使用以下两种方法之一: 要么: 因为有点不同。是的注释,您可以

  • 问题内容: 我有一个奇怪的错误。我在同一包中有2个类,但它们彼此找不到。根据我的记忆,只要这些类位于同一包中,它们就应该能够调用彼此的方法。 我的代码与此类似: 在A.java中: 在B.java中: 这给了我一个错误。 这两个类都依赖于某些文件,但是我已经包括了这些jar的路径并可以很好地编译,但是由于某些原因B找不到A … 当我在两个类中都删除时,它们可以正常编译。 问题答案: 由于您要编译位

  • 这里有一个类似的答案:如何在Java中将函数作为参数传递? 但提供的正确答案不起作用。我有一门课: 在函数内部我试图将传递到,但我得到的错误是: 找不到符号 符号:类Callable 我不知道为什么。 另外,我尝试使用返回类型字符串作为xMethod,您能传递一个返回类型不同的函数吗?

  • 我再次请求您的技术支持。 我在代码中收到多个“找不到符号错误”。我怎样才能纠正这个错误?我在转换变量类型时也有问题。 对于其中的一些变量,我尝试使用新文本(some_string_variable)来转换它们。是否需要使用“新”零件?。我可以直接调用文本(一些字符串变量)吗?