2009-06-08 2 views
0

전체 텍스트 검색을 제공해야하는 RSS 피드를 작업 중입니다. 일부 상자에서 검색하여 결과를 RSS로 가져옵니다. 나는 node_search와 do_search를 작동 시키려고 노력하고 있었지만 뭔가 빠졌습니다 ...하지만 뭐라 구요?Drupal node_seach

내가 알 수있는 한 $ find = node_search ('search', 'type : article'); type = 'article'인 모든 일치하는 노드를 포함하는 결과를 제공해야합니다. 그러나 키워드/검색어를 어떻게 지정합니까?

무엇이 누락 되었습니까?

+1

당신은 D5 또는 D6를 사용하고 있습니까? –

+0

이것은 드루팔 (Drupal 5 –

답변

0

OpenSearch module은 RSS로 검색 결과를 노출하므로 직접 코딩 할 필요가 없습니다.

특수한 양식을 원할 경우 양식을 처리 한 후 OpenSearch 결과로 리디렉션 할 수 있습니다.

부록 : 당신이 정말로 자신을합니까하려는 경우,이 같은 search_data를 사용할 수 있습니다

<?php 
$data = search_data('your searchterms here'); 

이 (search_data의 기본 두 번째 매개 변수로) 노드를 검색뿐만 아니라 사용자를 검색 할 수 있습니다 그리고 hook_search를 구현 한 다른 것들.

또한 search_data은 이름을 사용하여 실제로 서식이 지정된 검색 결과를 반환합니다. 원시 검색 결과를 얻으려면 invokehook_search을 직접 입력하거나 do_search을 사용할 수 있습니다. 예 :

<?php 
$results = module_invoke('node', 'search', 'your searchterms here'); 
$data = do_search($query, 'node'); 

차이의 존재는 노드 특정 검색 코드를 실행하기 때문에 후크를 호출하는 것은 일반 do_search (node.module의 hook_search 구현에 addtion에서, (당신에게 더 많은 노드 관련 데이터를 제공한다는 것입니다 노드 검색은 검색 설정에서 설정 한 가중치를 고려하기 때문에 do_search를 호출하여 실제 작업을 완료합니다.)) 그리고 더 정확한 검색이 가능합니다. 단점은보다 느린 검색 쿼리입니다.

+1

)입니다.하지만 코드를 작성해야합니다. 기존 모듈의 일부로 이것을 필요로합니다. 알아야 할 것은 실제 검색 용어를 어떻게 지정해야합니까? –

+0

좋아요, 직접 검색 데이터에 액세스하는 방법에 대한 몇 가지 세부 정보가 나와 있습니다. (질문에 서식을 사용할 수 없기 때문에) 답변을 수정했습니다. – mikl

0

키 : 값을 사용할 수 있어야하며 "-"또한 사용해야합니다.

hook_search

+0

그래, 그 부분을 얻었지만 검색 용어의 핵심은 무엇입니까? –

+0

'키'! 문서화 및 명명 규칙은 드루팔 (Drupal)에 대해서는별로 좋지 않습니다. 검색은 정말 나쁜 문서 스케일에서 꽤 높은 순위에 있습니다. –