Package org.apache.lucene.index

Examples of org.apache.lucene.index.TermVectorOffsetInfo


            sb.append(cbuf, skippedChars, cbuf.length - skippedChars);

            // iterate terms
            for (Iterator iter = fi.iterator(); iter.hasNext();) {
                TermVectorOffsetInfo ti = (TermVectorOffsetInfo) iter.next();
                nextStart = ti.getStartOffset();
                if (nextStart - pos > 0) {
                    cbuf = new char[nextStart - pos];
                    int charsRead = reader.read(cbuf, 0, nextStart - pos);
                    pos += (nextStart - pos);
                    sb.append(cbuf, 0, charsRead);
                }
                sb.append(prefix);
                nextStart = ti.getEndOffset();
                // print term
                cbuf = new char[nextStart - pos];
                reader.read(cbuf, 0, nextStart - pos);
                pos += (nextStart - pos);
                sb.append(cbuf);
View Full Code Here


            sb.append(Text.encodeIllegalXMLCharacters(
                    new String(cbuf, skippedChars, cbuf.length - skippedChars)));

            // iterate terms
            for (Iterator iter = fi.iterator(); iter.hasNext();) {
                TermVectorOffsetInfo ti = (TermVectorOffsetInfo) iter.next();
                nextStart = ti.getStartOffset();
                if (nextStart - pos > 0) {
                    cbuf = new char[nextStart - pos];
                    int charsRead = reader.read(cbuf, 0, nextStart - pos);
                    pos += (nextStart - pos);
                    sb.append(cbuf, 0, charsRead);
                }
                sb.append(hlStart);
                nextStart = ti.getEndOffset();
                // print term
                cbuf = new char[nextStart - pos];
                reader.read(cbuf, 0, nextStart - pos);
                pos += (nextStart - pos);
                sb.append(cbuf);
View Full Code Here

        public void trim() {
            int end = startOffset + (mergeGap / 2);
            Iterator it = offsetInfosList.iterator();
            while (it.hasNext()) {
                TermVectorOffsetInfo tvoi = (TermVectorOffsetInfo) it.next();
                if (tvoi.getStartOffset() > end) {
                    it.remove();
                }
            }
        }
View Full Code Here

            sb.append(Text.encodeIllegalXMLCharacters(
                    new String(cbuf, skippedChars, cbuf.length - skippedChars)));

            // iterate terms
            for (Iterator iter = fi.iterator(); iter.hasNext();) {
                TermVectorOffsetInfo ti = (TermVectorOffsetInfo) iter.next();
                nextStart = ti.getStartOffset();
                if (nextStart - pos > 0) {
                    cbuf = new char[nextStart - pos];
                    int charsRead = reader.read(cbuf, 0, nextStart - pos);
                    pos += (nextStart - pos);
                    sb.append(cbuf, 0, charsRead);
                }
                sb.append(hlStart);
                nextStart = ti.getEndOffset();
                // print term
                cbuf = new char[nextStart - pos];
                reader.read(cbuf, 0, nextStart - pos);
                pos += (nextStart - pos);
                sb.append(cbuf);
View Full Code Here

        public void trim() {
            int end = startOffset + (mergeGap / 2);
            Iterator it = offsetInfosList.iterator();
            while (it.hasNext()) {
                TermVectorOffsetInfo tvoi = (TermVectorOffsetInfo) it.next();
                if (tvoi.getStartOffset() > end) {
                    it.remove();
                }
            }
        }
View Full Code Here

         FragmentInfo fi = (FragmentInfo)it.next();
         boolean overlap = false;
         Iterator fit = fi.iterator();
         while (fit.hasNext() && !overlap)
         {
            TermVectorOffsetInfo oi = (TermVectorOffsetInfo)fit.next();
            if (offsetInfos.containsKey(oi))
            {
               overlap = true;
            }
         }
         if (overlap)
         {
            it.remove();
         }
         else
         {
            Iterator oit = fi.iterator();
            while (oit.hasNext())
            {
               offsetInfos.put(oit.next(), null);
            }
         }
      }

      // create excerpts
      StringBuffer sb = new StringBuffer(excerptStart);
      it = infos.iterator();
      while (it.hasNext())
      {
         FragmentInfo fi = (FragmentInfo)it.next();
         sb.append(fragmentStart);
         int limit = Math.max(0, fi.getStartOffset() / 2 + fi.getEndOffset() / 2 - surround);
         int len = startFragment(sb, text, fi.getStartOffset(), limit);
         TermVectorOffsetInfo lastOffsetInfo = null;
         Iterator fIt = fi.iterator();
         while (fIt.hasNext())
         {
            TermVectorOffsetInfo oi = (TermVectorOffsetInfo)fIt.next();
            if (lastOffsetInfo != null)
            {
               // fill in text between terms
               sb.append(text.substring(lastOffsetInfo.getEndOffset(), oi.getStartOffset()));
            }
            sb.append(hlStart);
            sb.append(text.substring(oi.getStartOffset(), oi.getEndOffset()));
            sb.append(hlEnd);
            lastOffsetInfo = oi;
         }
         limit = Math.min(text.length(), fi.getStartOffset() - len + (surround * 2));
         endFragment(sb, text, fi.getEndOffset(), limit);
View Full Code Here

            {
               TermVectorOffsetInfo[] tmp = info;
               info = new TermVectorOffsetInfo[tmp.length + 1];
               System.arraycopy(tmp, 0, info, 0, tmp.length);
            }
            info[info.length - 1] = new TermVectorOffsetInfo(t.startOffset(), t.endOffset());
            termMap.put(termText, info);
         }
      }
      catch (IOException e)
      {
View Full Code Here

            {
               TermVectorOffsetInfo[] tmp = info;
               info = new TermVectorOffsetInfo[tmp.length + 1];
               System.arraycopy(tmp, 0, info, 0, tmp.length);
            }
            info[info.length - 1] = new TermVectorOffsetInfo(offset.startOffset(), offset.endOffset());
            termMap.put(termText, info);
         }
         ts.end();
         ts.close();
      }
View Full Code Here

         FragmentInfo fi = (FragmentInfo)it.next();
         boolean overlap = false;
         Iterator fit = fi.iterator();
         while (fit.hasNext() && !overlap)
         {
            TermVectorOffsetInfo oi = (TermVectorOffsetInfo)fit.next();
            if (offsetInfos.containsKey(oi))
            {
               overlap = true;
            }
         }
         if (overlap)
         {
            it.remove();
         }
         else
         {
            Iterator oit = fi.iterator();
            while (oit.hasNext())
            {
               offsetInfos.put(oit.next(), null);
            }
         }
      }

      // create excerpts
      StringBuffer sb = new StringBuffer(excerptStart);
      it = infos.iterator();
      while (it.hasNext())
      {
         FragmentInfo fi = (FragmentInfo)it.next();
         sb.append(fragmentStart);
         int limit = Math.max(0, fi.getStartOffset() / 2 + fi.getEndOffset() / 2 - surround);
         int len = startFragment(sb, text, fi.getStartOffset(), limit);
         TermVectorOffsetInfo lastOffsetInfo = null;
         Iterator fIt = fi.iterator();
         while (fIt.hasNext())
         {
            TermVectorOffsetInfo oi = (TermVectorOffsetInfo)fIt.next();
            if (lastOffsetInfo != null)
            {
               // fill in text between terms
               sb.append(text.substring(lastOffsetInfo.getEndOffset(), oi.getStartOffset()));
            }
            sb.append(hlStart);
            sb.append(text.substring(oi.getStartOffset(), oi.getEndOffset()));
            sb.append(hlEnd);
            lastOffsetInfo = oi;
         }
         limit = Math.min(text.length(), fi.getStartOffset() - len + (surround * 2));
         endFragment(sb, text, fi.getEndOffset(), limit);
View Full Code Here

            {
               TermVectorOffsetInfo[] tmp = info;
               info = new TermVectorOffsetInfo[tmp.length + 1];
               System.arraycopy(tmp, 0, info, 0, tmp.length);
            }
            info[info.length - 1] = new TermVectorOffsetInfo(offset.startOffset(), offset.endOffset());
            termMap.put(termText, info);
         }
         ts.end();
         ts.close();
      }
View Full Code Here

TOP

Related Classes of org.apache.lucene.index.TermVectorOffsetInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.