2

みなさん、おはよう、

この 1 週間、さまざまな検索エンジンとインデックス作成ツールを試していたところ、問題が発生しました。すべて静的ページである django サイトがあります。Nutch を使用してサイトをスクレイピングし、結果を solr インデックスに送信しました。検索結果を取得するために haystack を使用したいのですが、いくつか問題が発生しました。

最初の問題は、サイトにモデルがないことです。そのため、haystack が設定したチュートリアルは役に立ちません。既に solr でインデックスを設定しており、SearchQuerySet API を使用して検索したいだけです。

私が最初に試したのは、これらの行を solr インデックスに追加して機能させることでした。

    <field name="id" type="string" stored="true" indexed="true" multiValued="false" required="true"/>
    <field name="django_ct" type="string" indexed="true" stored="true" multiValued="false"/>
    <field name="django_id" type="string" indexed="true" stored="true" multiValued="false"/>

ただし、その後、API を使用して検索しようとすると、django ページで次のエラーが発生します。

   "KeyError at /search/" 'django_ct'

モデルがなくても SearchQuerySet を使用できるようにするには、これらのキーを solr の schema.xml に追加する必要があると人々から聞いています。

誰かがさらに情報を提供したり、次に何をすべきかについて助けてくれたりしたら、それは素晴らしいことです.

ありがとう

PSここに私のトレースバックがあります

  Traceback:
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  136.                     response = response.render()
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/response.py" in render
  104.             self._set_content(self.rendered_content)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/response.py" in rendered_content
  81.         content = template.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render
  140.             return self._render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in _render
  134.         return self.nodelist.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render
  823.                 bit = self.render_node(node, context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render_node
  837.         return node.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  123.         return compiled_parent._render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in _render
  134.         return self.nodelist.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render
  823.                 bit = self.render_node(node, context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render_node
  837.         return node.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  123.         return compiled_parent._render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in _render
  134.         return self.nodelist.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render
  823.                 bit = self.render_node(node, context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render_node
  837.         return node.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  62.             result = block.nodelist.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render
  823.                 bit = self.render_node(node, context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render_node
  837.         return node.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  62.             result = block.nodelist.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render
  823.                 bit = self.render_node(node, context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render_node
  837.         return node.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  62.             result = block.nodelist.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render
  823.                 bit = self.render_node(node, context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/base.py" in render_node
  837.         return node.render(context)
  File "/home/dave/virtualenvs/stuff/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
  145.         len_values = len(values)
  File "/home/dave/virtualenvs/stuff/src/stuff/haystack/query.py" in __len__
  84.             self._result_count = self.query.get_count()
  File "/home/dave/virtualenvs/stuff/src/stuff/haystack/backends/__init__.py" in get_count
  459.                 self.run()
  File "/home/dave/virtualenvs/stuff/src/stuff/haystack/backends/solr_backend.py" in run
  667.         results = self.backend.search(final_query, **search_kwargs)
  File "/home/dave/virtualenvs/stuff/src/stuff/haystack/backends/__init__.py" in wrapper
  27.             return func(obj, query_string, *args, **kwargs)
  File "/home/dave/virtualenvs/stuff/src/stuff/haystack/backends/solr_backend.py" in search
  257.         return self._process_results(raw_results, highlight=highlight, result_class=result_class, distance_point=distance_point)
  File "/home/dave/virtualenvs/stuff/src/stuff/haystack/backends/solr_backend.py" in _process_results
  355.             app_label, model_name = raw_result[DJANGO_CT].split('.')

例外タイプ: KeyError at /search/ 例外値: 'django_ct'

4

0 に答える 0