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


Python scorched.SolrInterface類代碼示例

本文整理匯總了Python中scorched.SolrInterface的典型用法代碼示例。如果您正苦於以下問題:Python SolrInterface類的具體用法?Python SolrInterface怎麽用?Python SolrInterface使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


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

示例1: test_extract

 def test_extract(self):
     dsn = os.environ.get("SOLR_URL", "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     pdf = os.path.join(os.path.dirname(__file__), "data", "lipsum.pdf")
     with open(pdf, 'rb') as f:
         data = si.extract(f)
     self.assertEqual(0, data.status)
     self.assertTrue('Lorem ipsum' in data.text)
     self.assertEqual(['pdfTeX-1.40.13'], data.metadata['producer'])
開發者ID:lugensa,項目名稱:scorched,代碼行數:9,代碼來源:test_functional.py

示例2: test_debug

 def test_debug(self):
     dsn = os.environ.get("SOLR_URL",
                          "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     docs = {
         "id": "978-0641723445",
         "cat": ["book", "hardcover"],
         "name": u"The Höhlentripp Strauß",
         "author": u"Röüß Itoa",
         "series_t": u"Percy Jackson and \N{UMBRELLA}nicode",
         "sequence_i": 1,
         "genre_s": "fantasy",
         "inStock": True,
         "price": 12.50,
         "pages_i": 384
         }
     si.add(docs)
     si.commit()
     res = si.query(author=u"Röüß").debug().execute()
     self.assertEqual(res.result.numFound, 1)
     for k, v in docs.items():
         self.assertEqual(res.result.docs[0][k], v)
     self.assertTrue('explain' in res.debug)
     # deactivate
     res = si.query(author=u"Röüß").execute()
     self.assertFalse('explain' in res.debug)
開發者ID:lugensa,項目名稱:scorched,代碼行數:26,代碼來源:test_functional.py

示例3: test_facet_query

 def test_facet_query(self):
     dsn = os.environ.get("SOLR_URL",
                          "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     res = si.add(self.docs)
     self.assertEqual(res[0].status, 0)
     si.commit()
     res = si.query(genre_s="fantasy").facet_by("cat").execute()
     self.assertEqual(res.result.numFound, 3)
     self.assertEqual([x['name'] for x in res.result.docs],
                      [u'The Lightning Thief',
                       u'The Sea of Monsters',
                       u"Sophie's World : The Greek Philosophers"])
     self.assertEqual(res.facet_counts.__dict__,
                      {'facet_fields': {u'cat': [(u'book', 3),
                                                 (u'paperback', 2),
                                                 (u'hardcover', 1)]},
                       'facet_dates': {},
                       'facet_queries': {},
                       'facet_ranges': {},
                       'facet_pivot': ()})
開發者ID:lugensa,項目名稱:scorched,代碼行數:21,代碼來源:test_functional.py

示例4: test_highlighting

    def test_highlighting(self):
        dsn = os.environ.get("SOLR_URL", 'http://localhost:8983/solr')
        si = SolrInterface(dsn)
        docs = {
            "id": "978-0641723445",
            "cat": ["book", "hardcover"],
            "name": u"The Höhlentripp Strauß",
            "author": u"Röüß Itoa",
            "series_t": u"Percy Jackson and \N{UMBRELLA}nicode",
            "sequence_i": 1,
            "genre_s": "fantasy",
            "inStock": True,
            "price": 12.50,
            "pages_i": 384
        }
        si.add(docs)
        si.commit()
        res = si.query(author=u"Röüß").highlight('author').execute()
        highlighted_field_result = u'<em>Röüß</em> Itoa'
        # Does the highlighting attribute work?
        self.assertEqual(
            res.highlighting['978-0641723445']['author'][0],
            highlighted_field_result,
        )

        # Does each item have highlighting attributes?
        self.assertEqual(
            res.result.docs[0]['solr_highlights']['author'][0],
            highlighted_field_result,
        )
開發者ID:lugensa,項目名稱:scorched,代碼行數:30,代碼來源:test_functional.py

示例5: test_filter_query

 def test_filter_query(self):
     dsn = os.environ.get("SOLR_URL", "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     si.add(self.docs)
     si.commit()
     res = si.query(si.Q(**{"*": "*"})).filter(cat="hardcover").filter(genre_s="fantasy").execute()
     self.assertEqual(res.result.numFound, 1)
     self.assertEqual([x["name"] for x in res.result.docs], ["The Lightning Thief"])
開發者ID:rlskoeser,項目名稱:scorched,代碼行數:8,代碼來源:test_functional.py

示例6: test_get

    def test_get(self):
        dsn = os.environ.get("SOLR_URL", "http://localhost:8983/solr")
        si = SolrInterface(dsn)
        res = si.get("978-1423103349")
        self.assertEqual(len(res), 0)

        si.add(self.docs)
        res = si.get("978-1423103349")
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0]["name"], "The Sea of Monsters")

        res = si.get(["978-0641723445", "978-1423103349", "nonexist"])
        self.assertEqual(len(res), 2)
        self.assertEqual([x["name"] for x in res], ["The Lightning Thief", "The Sea of Monsters"])

        si.commit()
        res = si.get(ids="978-1423103349", fields=["author"])
        self.assertEqual(len(res), 1)
        self.assertEqual(list(res[0].keys()), ["author"])
開發者ID:rlskoeser,項目名稱:scorched,代碼行數:19,代碼來源:test_functional.py

示例7: test_mlt

 def test_mlt(self):
     dsn = os.environ.get("SOLR_URL", "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     si.add(self.docs)
     si.commit()
     res = si.mlt_query("genre_s", interestingTerms="details", mintf=1, mindf=1).query(id="978-0641723445").execute()
     self.assertEqual(res.result.numFound, 2)
     self.assertEqual(res.interesting_terms, ["genre_s:fantasy", 1.0])
     self.assertEqual([x["author"] for x in res.result.docs], ["Rick Riordan", "Jostein Gaarder"])
開發者ID:rlskoeser,項目名稱:scorched,代碼行數:9,代碼來源:test_functional.py

示例8: test_mlt_component_query

 def test_mlt_component_query(self):
     dsn = os.environ.get("SOLR_URL", "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     si.add(self.docs)
     si.commit()
     res = si.query(id="978-0641723445").mlt("genre_s", mintf=1, mindf=1).execute()
     # query shows only one
     self.assertEqual(res.result.numFound, 1)
     # but in more like this we get two
     self.assertEqual(len(res.more_like_these["978-0641723445"].docs), 2)
     self.assertEqual(
         [x["author"] for x in res.more_like_these["978-0641723445"].docs], ["Rick Riordan", "Jostein Gaarder"]
     )
開發者ID:rlskoeser,項目名稱:scorched,代碼行數:13,代碼來源:test_functional.py

示例9: test_multi_value_dates

 def test_multi_value_dates(self):
     dsn = os.environ.get("SOLR_URL", "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     docs = {
         "id": "978",
         "important_dts": [
             "1969-01-01",
             "1969-01-02",
         ],
     }
     si.add(docs)
     si.commit()
     _ = si.query(id=u"978").execute()
開發者ID:lugensa,項目名稱:scorched,代碼行數:13,代碼來源:test_functional.py

示例10: test_count

 def test_count(self):
     dsn = os.environ.get("SOLR_URL", "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     docs = [{
         "id": "1",
         "genre_s": "fantasy",
     }, {
         "id": "2",
         "genre_s": "fantasy",
     }]
     si.add(docs)
     si.commit()
     ungrouped_count = si.query(genre_s="fantasy").count()
     ungrouped_count_expected = 2
     self.assertEqual(ungrouped_count, ungrouped_count_expected)
     grouped_count = si.query(genre_s="fantasy").group_by("genre_s").count()
     grouped_count_expected = 1
     self.assertEqual(grouped_count, grouped_count_expected)
開發者ID:lugensa,項目名稱:scorched,代碼行數:18,代碼來源:test_functional.py

示例11: test_cursor

    def test_cursor(self):
        dsn = os.environ.get("SOLR_URL",
                             "http://localhost:8983/solr")
        si = SolrInterface(dsn)
        si.add(self.docs)
        si.commit()
        cursor = si.query(genre_s="fantasy").sort_by('id').cursor(rows=1)

        # Count how often we hit solr
        search_count = [0]
        old_search = cursor.search.interface.search

        def search_proxy(*args, **kwargs):
            search_count[0] += 1
            return old_search(*args, **kwargs)
        cursor.search.interface.search = search_proxy

        list(cursor)
        self.assertEqual(search_count[0], 4)  # 3 + 1 to realize we are done

        search_count = [0]
        cursor = si.query(genre_s="fantasy").sort_by('id') \
                   .cursor(constructor=Book, rows=2)
        # test constructor
        self.assertEqual([x.title for x in cursor],
                         [u'The Lightning Thief',
                          u'The Sea of Monsters',
                          u"Sophie's World : The Greek Philosophers"])
        self.assertEqual(search_count[0], 3)

        # empty results
        search_count = [0]
        cursor = si.query(genre_s="nonexist").sort_by('id') \
                   .cursor(constructor=Book)
        self.assertEqual(list(cursor), [])
        self.assertEqual(search_count[0], 1)
開發者ID:lugensa,項目名稱:scorched,代碼行數:36,代碼來源:test_functional.py

示例12: test_facet_query

 def test_facet_query(self):
     dsn = os.environ.get("SOLR_URL", "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     si.add(self.docs)
     si.commit()
     res = si.query(genre_s="fantasy").facet_by("cat").execute()
     self.assertEqual(res.result.numFound, 3)
     self.assertEqual(
         [x["name"] for x in res.result.docs],
         ["The Lightning Thief", "The Sea of Monsters", "Sophie's World : The Greek Philosophers"],
     )
     self.assertEqual(
         res.facet_counts.__dict__,
         {
             "facet_fields": {"cat": [("book", 3), ("paperback", 2), ("hardcover", 1)]},
             "facet_dates": {},
             "facet_queries": {},
             "facet_ranges": {},
             "facet_pivot": (),
         },
     )
開發者ID:rlskoeser,項目名稱:scorched,代碼行數:21,代碼來源:test_functional.py

示例13: test_query

 def test_query(self):
     dsn = os.environ.get("SOLR_URL",
                          "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     si.add(self.docs)
     si.commit()
     res = si.query(genre_s="fantasy").execute()
     self.assertEqual(res.result.numFound, 3)
     # delete
     res = si.delete_by_ids(res.result.docs[0]['id'])
     self.assertEqual(res.status, 0)
     res = si.query(genre_s="fantasy").execute()
     si.commit()
     res = si.query(genre_s="fantasy").execute()
     self.assertEqual(res.result.numFound, 2)
     res = si.query(genre_s="fantasy").execute(constructor=Book)
     # test constructor
     self.assertEqual([x.title for x in res.result.docs],
                      [u'The Sea of Monsters',
                       u"Sophie's World : The Greek Philosophers"])
開發者ID:lugensa,項目名稱:scorched,代碼行數:20,代碼來源:test_functional.py

示例14: tearDown

 def tearDown(self):
     dsn = os.environ.get("SOLR_URL",
                          "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     si.delete_all()
     si.commit()
開發者ID:lugensa,項目名稱:scorched,代碼行數:6,代碼來源:test_functional.py

示例15: test_spellcheck

 def test_spellcheck(self):
     dsn = os.environ.get("SOLR_URL", "http://localhost:8983/solr")
     si = SolrInterface(dsn)
     opts = si.query(name=u"Monstes").spellcheck().options()
     self.assertEqual({u'q': u'name:Monstes', u'spellcheck': True}, opts)
開發者ID:lugensa,項目名稱:scorched,代碼行數:5,代碼來源:test_functional.py


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