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


Python highlight.SentenceFragmenter方法代碼示例

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


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

示例1: test_highlight_ngrams

# 需要導入模塊: from whoosh import highlight [as 別名]
# 或者: from whoosh.highlight import SentenceFragmenter [as 別名]
def test_highlight_ngrams():
    schema = fields.Schema(text=fields.NGRAMWORDS(stored=True))
    ix = RamStorage().create_index(schema)
    with ix.writer() as w:
        w.add_document(text=u("Multiplication and subtraction are good"))

    with ix.searcher() as s:
        qp = qparser.QueryParser("text", ix.schema)
        q = qp.parse(u("multiplication"))
        r = s.search(q)
        assert r.scored_length() == 1

        r.fragmenter = highlight.SentenceFragmenter()
        r.formatter = highlight.UppercaseFormatter()
        snippet = r[0].highlights("text")
        assert snippet == "MULTIPLICATIon and subtracTION are good" 
開發者ID:securesystemslab,項目名稱:zippy,代碼行數:18,代碼來源:test_highlighting.py

示例2: test_snippets

# 需要導入模塊: from whoosh import highlight [as 別名]
# 或者: from whoosh.highlight import SentenceFragmenter [as 別名]
def test_snippets():
    ana = analysis.StemmingAnalyzer()
    schema = fields.Schema(text=fields.TEXT(stored=True, analyzer=ana))
    ix = RamStorage().create_index(schema)
    w = ix.writer()
    w.add_document(text=u("Lay out the rough animation by creating the important poses where they occur on the timeline."))
    w.add_document(text=u("Set key frames on everything that's key-able. This is for control and predictability: you don't want to accidentally leave something un-keyed. This is also much faster than selecting the parameters to key."))
    w.add_document(text=u("Use constant (straight) or sometimes linear transitions between keyframes in the channel editor. This makes the character jump between poses."))
    w.add_document(text=u("Keying everything gives quick, immediate results. But it can become difficult to tweak the animation later, especially for complex characters."))
    w.add_document(text=u("Copy the current pose to create the next one: pose the character, key everything, then copy the keyframe in the playbar to another frame, and key everything at that frame."))
    w.commit()

    target = ["Set KEY frames on everything that's KEY-able",
              "Copy the current pose to create the next one: pose the character, KEY everything, then copy the keyframe in the playbar to another frame, and KEY everything at that frame",
              "KEYING everything gives quick, immediate results"]

    with ix.searcher() as s:
        qp = qparser.QueryParser("text", ix.schema)
        q = qp.parse(u("key"))
        r = s.search(q, terms=True)
        r.fragmenter = highlight.SentenceFragmenter()
        r.formatter = highlight.UppercaseFormatter()

        assert sorted([hit.highlights("text", top=1) for hit in r]) == sorted(target) 
開發者ID:securesystemslab,項目名稱:zippy,代碼行數:26,代碼來源:test_results.py

示例3: search

# 需要導入模塊: from whoosh import highlight [as 別名]
# 或者: from whoosh.highlight import SentenceFragmenter [as 別名]
def search(ix, text):
	with ix.searcher() as searcher:
		qp = QueryParser("body", schema=ix.schema)
		q = qp.parse(text)

		search_hits = searcher.search(q, limit=None, terms=True)
		search_hits.fragmenter = highlight.SentenceFragmenter(maxchars=450)

		res = []
		for hit in search_hits:
			tmp = dict(hit)
			tmp['matching_terms'] = [x[1] for x in hit.matched_terms()]
			tmp['highlights'] = hit.highlights("body")
			res.append(tmp)

	return {"hits": res, "matched_terms": [x[1] for x in search_hits.matched_terms()]} 
開發者ID:logicx24,項目名稱:CSCareerQMegathreadSearch,代碼行數:18,代碼來源:searchingInfra.py

示例4: highlights

# 需要導入模塊: from whoosh import highlight [as 別名]
# 或者: from whoosh.highlight import SentenceFragmenter [as 別名]
def highlights(self, fieldname, text=None, top=3, minscore=1):
        """Returns highlighted snippets from the given field::

            r = searcher.search(myquery)
            for hit in r:
                print(hit["title"])
                print(hit.highlights("content"))

        See :doc:`/highlight`.

        To change the fragmeter, formatter, order, or scorer used in
        highlighting, you can set attributes on the results object::

            from whoosh import highlight

            results = searcher.search(myquery, terms=True)
            results.fragmenter = highlight.SentenceFragmenter()

        ...or use a custom :class:`whoosh.highlight.Highlighter` object::

            hl = highlight.Highlighter(fragmenter=sf)
            results.highlighter = hl

        :param fieldname: the name of the field you want to highlight.
        :param text: by default, the method will attempt to load the contents
            of the field from the stored fields for the document. If the field
            you want to highlight isn't stored in the index, but you have
            access to the text another way (for example, loading from a file or
            a database), you can supply it using the ``text`` parameter.
        :param top: the maximum number of fragments to return.
        :param minscore: the minimum score for fragments to appear in the
            highlights.
        """

        hliter = self.results.highlighter
        return hliter.highlight_hit(self, fieldname, text=text, top=top,
                                    minscore=minscore) 
開發者ID:ybenitezf,項目名稱:nstock,代碼行數:39,代碼來源:searching.py

示例5: test_sentence_fragment

# 需要導入模塊: from whoosh import highlight [as 別名]
# 或者: from whoosh.highlight import SentenceFragmenter [as 別名]
def test_sentence_fragment():
    text = u("This is the first sentence. This one doesn't have the word. " +
             "This sentence is the second. Third sentence here.")
    terms = ("sentence",)
    sa = analysis.StandardAnalyzer(stoplist=None)
    sf = highlight.SentenceFragmenter()
    uc = highlight.UppercaseFormatter()
    htext = highlight.highlight(text, terms, sa, sf, uc)
    assert htext == "This is the first SENTENCE...This SENTENCE is the second...Third SENTENCE here" 
開發者ID:securesystemslab,項目名稱:zippy,代碼行數:11,代碼來源:test_highlighting.py


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