Package org.apache.lucene.index

Examples of org.apache.lucene.index.TermVectorOffsetInfo


          termDocumentInformationFactory.payloads.add(null);
        }

        if (eField_Tokens.getKey().isStoreOffsetWithTermVector()) {

          termDocumentInformationFactory.termOffsets.add(new TermVectorOffsetInfo(fieldSetting.offset + token.startOffset(), fieldSetting.offset + token.endOffset()));
          lastOffset = fieldSetting.offset + token.endOffset();
        }


      }
View Full Code Here


                    int[] offsets = termInfo.getOffsets();

                    termOffsets[i] = new TermVectorOffsetInfo[freqVec[i]];
                    for (int j = 0, k = 0; j < offsets.length; j += 2, k++) {
                        termOffsets[i][k] = new TermVectorOffsetInfo(offsets[j], offsets[j + 1]);
                    }
                }

                i++;
            }
View Full Code Here

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

      // create excerpts
      StringBuilder sb = new StringBuilder(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<TermVectorOffsetInfo> fIt = fi.iterator();
         while (fIt.hasNext())
         {
            TermVectorOffsetInfo oi = 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

            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(Text.encodeIllegalXMLCharacters(
                            new String(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(Text.encodeIllegalXMLCharacters(
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

                } else {
                    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) {
            // should never happen, we are reading from a string
View Full Code Here

          termDocumentInformationFactory.payloads.add(null);
        }

        if (eField_Tokens.getKey().isStoreOffsetWithTermVector()) {

          termDocumentInformationFactory.termOffsets.add(new TermVectorOffsetInfo(fieldSetting.offset + token.startOffset(), fieldSetting.offset + token.endOffset()));
          lastOffset = fieldSetting.offset + token.endOffset();
        }


      }
View Full Code Here

          termDocumentInformationFactory.payloads.add(null);
        }

        if (eField_Tokens.getKey().isStoreOffsetWithTermVector()) {

          termDocumentInformationFactory.termOffsets.add(new TermVectorOffsetInfo(fieldSetting.offset + token.startOffset(), fieldSetting.offset + token.endOffset()));
          lastOffset = fieldSetting.offset + token.endOffset();
        }


      }
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

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.